简介
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用
了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
从 Spring Boot 项目名称中的 Boot 可以看出来,Spring Boot 的作用在于创建和启动新的基于 Spring 框架的项目。它的目的是帮助开发人员很容易的创建出独立运行和产品级别的基于 Spring 框架的应用。Spring Boot 会选择最适合的 Spring 子项目和第三方开源库进行整合。大部分 Spring Boot 应用只需要非常少的配置就可以快速运行起来。
Spring Boot 包含的特性如下:
创建可以独立运行的 Spring 应用。
直接嵌入 Tomcat 或 Jetty 服务器,不需要部署 WAR 文件。
提供推荐的基础 POM 文件来简化 Apache Maven 配置。
尽可能的根据项目依赖来自动配置 Spring 框架。
提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。
没有代码生成,也没有 XML 配置文件。
通过 Spring Boot,创建新的 Spring 应用变得非常容易,而且创建出的 Spring 应用符合通用的最佳实践。只需要简单的几个步骤就可以创建出一个 Web 应用。
如果开发环境为Eclipse,Spring Boot推荐我们安装它的插件Spring Tool Suite,可以快速实现Spring Boot的项目搭建等
实现热部署
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
代码有修改(修改代码、新增方法、新增类等),会自动编译修改的代码。
关于Spring Boot 热部署介绍:
http://blog.csdn.net/zhoujinyu0713/article/details/46843115
IDEA 无法实现热部署配置:
http://blog.csdn.net/wjc475869/article/details/52442484,
Spring 官方还提供一种热部署的方式,不用重启,但是新增方法和类是无法热部署的,具体参考:
http://docs.spring.io/spring-boot/docs/current/reference/html/howto-hotswapping.html。
创建项目
使用 IntelliJ IDEA 创建 Spring Boot项目
其他一般都默认,后生成标准的maven项目,update下maven project 即可下载对应依赖,下载完的项目结构
我们可以来分析下pom文件,只有一个如下的配置
<artifactId>spring-boot-starter-web</artifactId>查看依赖时会发现其中包含了 Spring MVC 框架、SLF4J、Jackson和 Tomcat 等依赖。这实际上 Spring 推荐的 Web 应用中使用的开源库的组合
编写并访问API
创建TestController 类
@RestController启动*Application.java 即可启动默认的内嵌容器
@RequestMapping("test")
public class TestController {
/**
* 不区分get post
* localhost/test
* @author jerome_s@qq.com
* @return
*/
@RequestMapping("")
String test() {
return "hello world";
}
}
访问
直接返回json
直接返回json,自动编译序列化为json格式
/**
* 返回Map的json
*
* @return
*/
@RequestMapping("testMap")
Map<String, Object> testMap() {
Map<String, Object> map = new HashMap<>();
map.put("name", "jerome");
map.put("age", 26);
return map;
}
/**
* 返回List的json
*
* @return
*/
@RequestMapping("testList")
List<String> testList() {
List<String> list = new ArrayList<>();
list.add("苏志达");
list.add("jerome");
return list;
}
/**
* 返回实体的json
*
* @return
*/
@RequestMapping("testModel")
User testModel() {
User user = new User("苏志达", 26, 0, new Date(), 99.6);
return user;
}
返回格式效果:
(对于以上时间格式的问题可以修改配置文件:
application.properties
)
#时间格式化
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
#时区设置
spring.jackson.time-zone=Asia/Chongqing
访问资源
我们只要将静态资源放到
resources/
static 即可通过项目跟路径直接访问
在项目根路径下使用maven命令打包:
mvn clean package
将target目录下的jar拷贝,并运行项目: java –jar
demo_spring_boot-0.0.1-SNAPSHOT.jar
参考
代码