spring-boot是一个微框架,所谓的微框架,就是里面集成了一个通常的框架都用到的东西,例如数据库访问、事务控制等。而且,因为是基于spring的,所以spring的一些特性例如ioc、aop等也都是集成的。spring-boot的另一个特性就是内置了tomcat等服务(针对web-starter,本文也是针对的web-starter进行的测试),因此在发布时,只需要发布一个jar(当然也可以选择将第三方jar以分散的文件存放),然后使用java -jar xxx.jar即可运行,而无需tomcat等容器。
个人认为,spring-boot适合做一些小型的项目,因为其一战式的特点,省去了搭建框架的基础步骤,因此在开发小型项目时效率很高。
本人经过实战,最终使用spring-boot搭建了一个小型的测试项目(本来过程很简单的,只需要参照官方的文档就可以了,但是实际使用中的几个坑把时间给耽误了,具体的坑会在文章结尾说明。另外文章结尾也会放上本人搭建好的源码)
准备条件
- maven 3.x (gradle方式我没尝试,不过差不多)
- jdk1.7+ (强烈推荐使用jdk1.8)
步骤1
新建一个maven项目,名为springboottest,此处省略一万字……
步骤2
修改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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>springboottest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.3.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- 使用与web项目的starter,更多starter参考这里:https://github.com/spring-projects/spring-boot/tree/master/spring-boot-starters -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 第一个坑,必须主动引入此依赖,否则无法打印日志 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency>
<!-- 可选,用来对项目进行health,audits等进行统计,而且可以通过http进行程序的shutdown... -->
<!-- <dependency> -->
<!-- <groupId>org.springframework.boot</groupId> -->
<!-- <artifactId>spring-boot-starter-actuator</artifactId> -->
<!-- </dependency> -->
</dependencies>
<build>
<!-- 可选,使用此plugin时,最终会将项目本身及其依赖打包为一个jar,然后直接java -jar xxx.jar 即可 -->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
步骤3
添加一个用于测试的controller如下:
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Greetings from Spring Boot!";
}
}
步骤4
添加启动类如下
@SpringBootApplication
public class Application {
public static void main(String[] args) {
//允许通过http停止程序(post方式)
System.setProperty("endpoints.shutdown.enabled", "true");
//设定web服务的侦听端口,默认为8080
System.setProperty("server.port", "80");
SpringApplication.run(Application.class, args);
}
}
到这里代码就完成了,此时可以直接运行启动类来启动程序了,然后在浏览器里输入127.0.0.1就可看到结果。
打包
使用mvn clean package
进行程序打包,可以看到在target/目录生成了一个jar文件,使用java -jar xxx.jar
即可运行程序。
本文测试代码下载地址:http://download.csdn.net/detail/sxyandapp/9743814
参考资料