聲明在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也可以引入配置類;