Spring Boot
是由spring 提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot可以快速搭建并开发项目。
SpringBoot优缺点
优点
- 列表内容
- 使用 Spring 项目引导页面可以在几秒构建一个项目方便对外输出各种形式的服务,如 REST API、WebSocket、Web、Streaming、Tasks
- 非常简洁的安全策略
- 集成支持关系数据库和非关系数据库mysql,redis等
- 支持运行期内嵌容器,如 Tomcat、Jetty强大的开发包
- 自动管理依赖
- 自带应用监控
- 支持热启动自动管理依赖自带应用监控支持各种 IED,如 IntelliJ IDEA 、NetBeans
缺点
- 集成度较高,使用过程中不太容易了解底层。
SpringBoot 核心
1. 入口类和@SpringBootApplication
Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法。
@SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解:
该注解主要组合了以下注解:
@SpringBootConfiguration:这是Spring Boot项目的配置注解,这也是一个组合注解。在Spring Boot项目中推荐使用@ SpringBootConfiguration替代@Configuration
@EnableAutoConfiguration:启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项:如:我们添加了spring-boot-starter-web的依赖,项目中也就会引入SpringMVC的依赖,Spring Boot就会自动配置tomcat和SpringMVC
@ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。
2. 全局配置文件
Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到resources下。Profile是Spring用来针对不同的环境对不同的配置提供支持的,不同的环境可以使用不同的配置文件,application-{profile}.properties,比如
开发:application-dev.properties
测试:application-test.properties
验证:application-verify.properties
生产:application-prod.properties
通过在application.properties(项目中必须包含该文件)中设置spring.profiles.active=prod来
指定启用哪一个Profile。
3. SpringBoot的自动配置
自动配置类都存放在spring-boot-autoconfigure-1.4.2.RELEASE.jar下的
org.springframework.boot.autoconfigure路径下;
2.application.properties中配置debug=true后启动容器,可以看到服务器初始化的自动配置日志
4. Starter pom
Spring Boot为我们提供了简化企业级开发绝大多数场景的start pom(类似于组件),只要使用了对应的starter pom,Spring Boot就会为我们提供自动配置的Bean。
以下是官方给出的starter