相对于Spring的进步是支持自动配置,支持测试,不需要容器,也不需要XML配置等新特性。
Spring Boot项目可以打包成Jar文件,内部集成了tomcat或者别的服务器。
Spring Boot主要使用RESTful接口,使用JSON进行数据交互,用于前后端分离的设计模式。
Spring Boot使用上其实十分简单,几乎不需要XML配置(除了添加依赖的库)。
新建SpringBoot项目在官网上很轻松地创建并添加部分依赖,使用Eclipse IDE可以参考前面的文章。
@SpringBootApplication注解
可以说一个SpringBoot应用就是围绕着这个注解开始的。
它的定义包含三个注解:@EnableAutoConfiguration、@ComponentScan和@SpringBootConfiguration。
就是这些注解开启了自动配置。
构建系统
SpringBoot同时支持Maven和Gradle,同时也是依赖管理系统。
使用SpringBoot时会看见一些像spring-boot-starter-data-jpa一样的依赖,这是便捷的依赖描述符。
官方的starter都是spring-boot-starter-*命名规则开头的。
编辑pom.xml文件时可以通过ctrl-space组合键弹出自动补全菜单。
代码结构
新创建的项目会有一个主应用类,内含main方法。直接运行这个类就能启动Spring Boot项目。
以这个类所在的包为根节点,创建新的类和包。
配置类
Spring Boot偏向于使用Java配置,但是使用XML配置也是允许的。
@Configuration注解应用于一个类,就是配置类。可以使用@Import注解导入额外的配置类。
在Spring Boot中使用XML配置可以先创建一个配置类后使用@ImportResource注解载入XML配置。
自动配置
SpringBoot支持根据添加的依赖自动配置应用。
比如添加了h2 database的依赖就会自动创建一个内存数据库,并执行classpath下的schema.sql和data.sql
实例下载
做后端最基本的就是增删改查(CRUD),那就围绕这一主题做个demo,可以更好了解怎么构建应用。
使用SpringBoot、MyBatis和H2 database做一个模型,Controller层、Service层和Dao层三层结构。
Controller使用@RestController用于类,然后@Get/Post/Put/DeleteMapping注解应用于方法作为web访问端点,使用@Autowired进行依赖注入,@Service注解说明服务文件,使用MyBatis框架就会用到@Mapper注解,不用xml映射就会用到@Insert、@Update、@Select和@Delete等注解。
使用了lombok减少重复劳动,如果Eclipse没有安装就要先安装Lombok才能运行。
说起来简单,不如下载下来跑跑看,比看的印象深刻。