SpringBoot的配置文件格式

application.properties或者application.yml,主要区别是书写格式不同;

  • 1.properties
    1
    springboot.user.name=jiushiboy
  • 2.yml
    1
    2
    3
    springboot:
    user:
    name: jiushiboy

    properties文件格式是无序的,yml文件格式是有序的(不支持@PropertySource注解导入配置);

SpringBoot的核心注解

启动类上面的注解是@Spring Boot Application,它是Spring Boot的核心注解,主要包含三个注解:

  • @SpringBootConfiguration:组合@Configuration注解用于配置文件功能;
  • EnableAutoConfiguration:打开自动配置,也可以关闭某个自动配置选项;
    1
    @SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
  • @ComponentScan:Spring组件扫描

开启SpringBoot特性方式

  • 继承Spring-boot-starter-parent项目
  • 导入Spring-boot-dependencies 项目依赖

运行SpringBoot的方式

  • 直接执行main方法运行
  • 用Maven/Gradle插件运行
  • 打包成jar,通过java-jar命令运行

SpringBoot读取配置的方式

SpringBoot可以通过@PropertySource @Value @Environment @ConfigurationProperties来绑定变量

SpringBoot中的监视器

SpringBoot actuator 是Spring启动框架中的重要功能之一;SpringBoot监视器可以在访问生产环境中正在运行的应用程序的当前状态;例如创建了上面bean、控制器中的映射、CPU的使用情况等等;然后可以自动收集和审计健康状况health以及指标metric到应用程序中;

SpringBoot自动配置的原理

在Spring程序main方法中添加@Spring Boot Application或者@Enable Auto Configuration会自动去Maven中读取每个starter中的spring.factories文件,该文件里配置了所有需要被创建Spring容器中的bean;
SpringBoot在启动时扫描项目所依赖的jar包,寻找包含Spring.factories文件的jar根据@Conditional注解条件,进行自动配置并将Bean注入到SpringContext

SpringBoot异常处理

Spring提供了一种ControllerAdvice处理异常的解决方法;通过实现ControllerAdvice类,来处理控制器抛出的所有异常;

1
//TODO