spring-boot之入门实践

spring-boot是spring的一种微服务框架,spring-boot的出现是为了解决以往spring项目中xml文件繁琐的配置。具体介绍参考:http://docs.spring.io/spring-boot/docs/1.4.0.M2/reference/htmlsingle/

这里主要记录下spring-boot的简单应用:

spring-boot支持主流的构建工具,包括ant、maven、gradle等,这里使用maven。

首先创建一个maven web project,创建完之后,如下:

然后新建SampleController类,包含在hello package下,SampleController主要代码:

package hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@EnableAutoConfiguration
public class SampleController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }
    
    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleController.class, args);
    }
}

其实基本的注解spring里都有,主要在main方法里,spring-boot直接嵌入 Tomcat 或 Jetty 服务器,调用run方法后直接启动相应容器,具体参考:http://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/

pom.xml文件主要配置:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.spring.test</groupId>
    <artifactId>SpringBootTest</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>SpringBootTest Maven Webapp</name>
    <url>http://localhost:8080/SpringBootTest</url>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.5.RELEASE</version>
        <relativePath />
    </parent>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <!-- http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>
        

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>1.0.2.RELEASE</version>
        </dependency>

    </dependencies>
    <build>
        <finalName>SpringBootTest</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>hello.SampleController</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

注意这里一定记得配置mainClass属性,否则启动后会报找不到主类错误。。。

完后命令行键入:mvn spring-boot:run,启动spring-boot,从而启动容器:

然后浏览器直接访问:

这样一个简答spring-boot应用就完了,踩过一个大坑,就是我启动run的时候一直报“找不到内嵌的tomcat容器”之类的错误,最后发现是pom.xml文件里的servlet-api版本给低了,修改后即可:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android源码框架分析

听说你Binder机制学的不错,来面试下这几个问题(一)

3784
来自专栏菩提树下的杨过

jenkins 入门教程(中)

接上回继续,本文以我托管在bitbucket上的一个开源项目spring-boot-rest-framework做为演示,讲解如何创建自动化部署。 一、创建it...

2836
来自专栏Laoqi's Linux运维专列

CentOS7.3 创建本地YUM源的三种方法

3594
来自专栏Android 研究

Android JNI学习(二)——实战JNI之“hello world”

首先在Android Studio创建一个Android项目,包名为gebilaolitou.ndkdemo

1574
来自专栏java闲聊

SpringBoot 1.5.10.RELEASE学习SpringMvc+SpringData+thymeleaf

1745
来自专栏程序猿DD

【译】Spring官方教程:Spring Boot整合消息中间件RabbitMQ

原文:Messaging with RabbitMQ 译者:chenzhijun 校对:程序猿DD 本篇指南会告诉您如何使用构建一个基于 AMQP协议的 Rab...

3578
来自专栏程序猿DD

SpringBoot快速入门

简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么...

1908
来自专栏ImportSource

Spring Boot 2.0 新特性和发展方向

以Java 8 为基准 Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持。 内嵌容器包结构调整 为了支持react...

4209
来自专栏咸鱼不闲

简单才是美! SpringBoot+JPA

SpringBoot 急速构建项目,真的是用了才知道,搭配JPA作为持久层,一简到底! 下面记录项目的搭建,后续会添加NOSQL redis,搜索引擎elast...

1123
来自专栏一个会写诗的程序员的博客

《Spring Boot 实战开发》 附录 II : Spring Boot 2.0 新特性《Spring Boot 实战开发》 附录 II : Spring Boot 2.0 新特性Kotlin

本节我们介绍 Spring Boot 2.0 版本的众多新特性,内容包括了 M1~M7里程碑版本的核心新功能特性。不过,我们首先把对 Kotlin 的特性的支持...

953

扫码关注云+社区