1、@PropertySource(value = { "classpath:jdbc.properties" }, ignoreResourceNotFound = true)
- 通过PropertySource注解加载指定的配置文件;
- ignoreResourceNotFound :当指定的配置文件不存在是否报错,默认是false;比如上文中指定的加载属性文件是
jdbc-dev.properties
。如果该文件不存在,则 ignoreResourceNotFound为true的时候,程序不会报错,如果ignoreResourceNotFound为false的时候,程序直接报错。实际项目开发中,最好设置ignoreResourceNotFound为false。该参数默认值为false
2、@SpringBootConfiguration
@SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解:
@Configuration:表示将该类作用springboot配置文件类。
@ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。
@EnableAutoConfiguration:启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项(程序启动时,自动加载springboot默认的配置)如:我们添加了spring-boot-starter-web的依赖,项目中也就会引入SpringMVC的依赖,Spring Boot就会自动配置tomcat和SpringMVC
1 1 @Target(ElementType.TYPE) 2 2 @Retention(RetentionPolicy.RUNTIME) 3 3 @Documented 4 4 @Inherited 5 5 @SpringBootConfiguration 6 6 @EnableAutoConfiguration 7 7 @ComponentScan(excludeFilters = { 8 8 @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), 9 9 @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) }) 10 10 public @interface SpringBootApplication { 11 11 }
@SpringBootApplication(exclude = { RedisAutoConfiguration.class,RedisRepositoriesAutoConfiguration.class})//exclude 关闭自动配置
3、@ImportResource(locations={"classpath:applicationContext.xml"})
通过locations属性加载对应的xml配置文件,同时需要配合@Configuration注解一起使用,定义为配置类;
4、@ConditionalOnXX
5、@ConfigurationProperties主要作用:就是绑定application.properties中的属性