声明在META-INF/spring.factories中的自动配置,只要spring.factories文件被扫描到,声明的配置类都会被配置,不论配置类上是否有@Configuration注解(但是方法上必须有@Bean注解);
# spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.limbo.aow.common.configuration.JpaConfiguration,\
com.limbo.aow.common.configuration.LettuceRedisConfiguration,\
com.limbo.aow.common.configuration.SessionConfiguration,\
com.limbo.aow.common.configuration.TstConfiguration
public class TstConfiguration {
@Bean
public String testThis() {
return "Hohoho";
}
}
在SpringBootApplication入口类上声明自定义注解@A,为自定义注解@A的类型声明中添加@Import注解可以引入配置类;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Import(JpaConfiguration.class)
public @interface EnableLimboJpa {
}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Import(SessionConfiguration.class)
@EnableLimboJpa
@EnableLimboRedis
public @interface EnableLimboSession {
}
在SpringBootApplication入口类上声明自定义注解@A,为自定义注解@A的类型声明中添加自定义注解@B,@B的类型声明上有@Import也可以引入配置类;