Spring Boot基础、Spring Boot核心

一、Spring Boot基础

Spring Boot优点:

1.快速构建项目。

2.对主流开发框架的无配置继承。

3.项目可独立运行,无须外部依赖Servlet容器。

4.提供运行是的应用监控。

5.极大地提高了开发、部署效率。

6.与云计算天然集成。

Spring Boot基础、Spring Boot核心_第1张图片

二、Spring Boot核心

1.基本配置

1)入口类和@SpringBootApplication

@SpringBootApplication源码如下,可以看出@SpringBootApplication注解主要组合了@Configuration、@EnableAutoConfiguration、@ComponentScan。值得说明一下@EnableAutoConfiguration的作用,让Spring Boot根据路径中的jar包依赖为当前项目进行自动配置。

Spring Boot会自动扫描@SpringBootApplication所在类的同级包以及下级包的Bean。建议入口类放置的位置在groupId+arctifactID组合的包名下。

Spring Boot基础、Spring Boot核心_第2张图片

如果想要关闭特定的自动配置应该使用@SpringBootApplication注解的exclude参数,如:@SpringBootApplication(exclude={DataSourceAtutoConfiguration.class})。

2)定制Banner

Spring Boot基础、Spring Boot核心_第3张图片

3)Spring Boot的配置文件

Spring Boot基础、Spring Boot核心_第4张图片

4)使用xml配置

虽然Spring Boot提倡零配置,即无xml配置,但在实际开发中还是会有特殊情况的,我们就需要通过Spring提供的@ImportResource来加载xml配置,如:@ImportResource({"classpath:some-context.xml","classpath:another-context.xml"})

2.外部配置

1)命令行参数配置

a.Spring Boot可以是基于jar包运行的,打成jar包的程序可以通过java -jar xx.jar命令运行。

b.可以通过java -jar xx.jar --server.port=9090修改Tomcat端口。

2)常规属性配置

Spring:注入properties文件里的值,通过@PropertySource指明properties文件的位置,然后通过@Value注入值。

Spring Boot:只需要在application.properties定义属性,直接使用@Value注入即可。

Spring Boot基础、Spring Boot核心_第5张图片

3)类型安全的配置(基于properties)

在实际开发中使用@Value注入每个配置有些麻烦,通过@ConfigurationProperties将properties属性和一个Bean及其属性关联。

Spring Boot基础、Spring Boot核心_第6张图片

3.日志配置

Spring Boot支持Java Util Logging、Log4J、Log4J2、Logback作为日志框架,无论使用那种日志框架,Spring Boot都已为该框架配置好了控制台输出及文件输出。默认情况下,Spring Boot使用Logback作为日志框架

Spring Boot基础、Spring Boot核心_第7张图片

4.Profile配置

Profile是Spring用来针对不同的环境对不同的配置提供支持,全局Profile配置使用application-{profile}.properties。

Spring Boot基础、Spring Boot核心_第8张图片

5.Spring Boot运行原理

1.自动配置

Spring Boot自动配置的源码在spring-boot-autoconfigure-1.3.0.x.jar中。

查看项目中已启用和未启用的自动配置的报告:

a)运行jar时增加--debug参数,即:java -jar xx.jar --debug

b)在application.properties中设置属性,即:debug=true

c)在STS中设置

Spring Boot基础、Spring Boot核心_第9张图片
Spring Boot基础、Spring Boot核心_第10张图片

2.运作原理

Spring Boot基础、Spring Boot核心_第11张图片

你可能感兴趣的:(Spring Boot基础、Spring Boot核心)