开启springboot特性的方式:
1.继承spring-boot-startr-parent项目
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</parent>
2.导入spring-boot-dependencies项目依赖
<dependencyManagement>
<dependencies>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.6.RELEASE</version>
<type>Pom</type>
<scope>import</scope>
</dependencies>
</dependencyManagement>
springboot自动配置原理
SpringBoot的自动配置注解是@EnableAutoConfiguration,这个注解方法会加载类路径及所有jar包下META-INF/spring。factories配置中映射的自动配置的类。
@Configuration,@ConditionalOnClass是自动配置的核心,首先它是一个配置文件,其次根据类路径下是否有这个类去自动配置。
Springboot中的Starters
Starters可以看成是启动器,包含了一系列可以继承到应用里面的依赖包,可以一站式集成Spring及其他技术,不需要到处找示例代码和依赖包。
- SpringBoot应用类启动器
spring-boot-starter:包含自动配置,日志,YAML的支持
spring-boot-starter-web:使用SpringMVC构建web工程,包含restful,默认使用tomcat容器
………………
- SpringBoot生产启动器
spring-boot-starter-actuator:提供生产环境特性,能监控管理应用。
- SpringBoot技术类启动器
spring-boot-starter-json:提供对JSON的读写支持
spring-boot-starter-logging:默认的日志启动器,默认使用Logback
- 其他第三方启动器
springboot读取配置文件变量的方式
Springboot可以通过@PropertySource,@Value,@Environment,@ConfigurationProperties来绑定变量
spring支持的日志框架
Springboot支持Java Util Logging, Log4j2, Lockback作为日志框架,如果使用Starters启动器,Springboot将使用Logback作为默认的日志框架。
Springboot实现热部署
主要有两种方式:
SpringLoaded
Spring-boot-devtools
引入devtools依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>