@SpringBootApplication
public class SpringBoot01Application {
public static void main(String[] args) {
SpringApplication.run(SpringBoot01Application.class, args);
}
}
获取候选配置
Properties properties = PropertiesLoaderUtils.loadProperties(resource);
//所有资源加载到配置类中
结论:SpringBoot所有自动配置在启动时扫描并加载(通过@SpringBootApplication
注解实现):spring.factories存放自动加载的所有类,生效条件为:对应的启动项(start
)被导入。未导入的启动项(start
)不会加载。
META-INF/spring.factories
中获取指定值spring-boot-autoconfigure-2.3.0.RELEASE.jar
包下xxxAutoConfiguration
文件(@Bean),这些类给容器中导入了这个场景需要的所有组件,并自动配置,@Configuration
,javaConfig
!。SpringBoot的理解:
initializers
(初始化器)属性中listeners
属性中yaml可以直接给实体类赋值
XXXXAutoConfigurartion
:自动配置类;给容器中添加组件
XXXXProperties
:封装配置文件中的相关属性。
静态资源处理方法:
/webjars/
classpath:/META-INF/resources/webjars/
classpath:/META-INF/resources/
classpath:/resources/
classpath:/static/
classpath:/public/
导入相应依赖即可使用thymeleaf,将相应的网页放到thymeleaf文件夹下即可
public static final String DEFAULT_PREFIX = "classpath:/templates/";
public static final String DEFAULT_SUFFIX = ".html";
在Spring Boot中,有非常多的XXXXConfiguration 帮助我们进行扩展配置,只要看见了这个东西,就要注意了