@Enable*註解的原理
在SpringBoot中,[email protected]*註解的方式來開啟。
[email protected]
[email protected]
[email protected]@ConfigurationPropertis註解配置Bean的支持。
通過Enable*一鍵開啟對一項功能的支持,避免了自己配置大量的代碼,也大大的降低了使用的難度。
[email protected]*的這些註解,[email protected]
比如開啟web MVC的配置支持:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Import(DelegatingWebMvcConfiguration.class)
public @interface EnableWebMvc {
}
@Import是用來導入配置類的
1,Import可以直接導入配置類。
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Import(HelloConfig.class)
public @interface EnableHello {
}
public class HelloConfig {
@Bean
public HelloImpl getHello(){
return new HelloImpl();
}
}
這樣bean對象就加入到我們的容器中了。
2,也可以動態的註冊bean
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Import(HelloImpl.class)
public @interface EnableHello {
}
[email protected]
@Enable*註解的原理