1. 程式人生 > >@Enable*註解的原理

@Enable*註解的原理

觀察 new oot port mvcc doc run 所有 async

在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]

/* */,其實是導入了一些自動配置的bean。@

@Enable*註解的原理