Spring @Enable模塊驅(qū)動(dòng)原理及使用實(shí)例
Spring @Enable 模塊概覽
框架實(shí)現(xiàn) | @Enable注解模塊 | 激活模塊 |
Spring Framework | @EnableWebMvc | Web MVC 模塊 |
@EnableTransactionManagement | 事務(wù)管理模塊 | |
@EnableCaching | Caching 模塊 | |
@EnableMBeanExport | JMX 模塊 | |
@EnableAsync | 異步處理模塊 | |
@EnableWebFlux | Web Flux 模塊 | |
@EnableAspectJAutoProxy | AspectJ 代理模塊 | |
Spring Boot | @EnableAutoConfiguration | 自動(dòng)裝配 |
@EnableManagementContext | Actuator 管理模塊 | |
@EnableConfigurationProperties | 配置屬性綁定模塊 | |
@EnableOAuth2Sso | OAuth2 單點(diǎn)登錄模塊 | |
Spring Cloud | @EnableEurekaServer | Eureka 服務(wù)器模塊 |
@EnableConfigServer | 配置服務(wù)器模塊 | |
@EnableFeignClients | Feign 客戶端模塊 | |
@EnableZuulProxy | 服務(wù)網(wǎng)關(guān)Zuul 模塊 | |
@EnableCircuitBreaker | 服務(wù)熔斷模塊 |
理解 @Enable 以 @EnableWebMVC 為例進(jìn)行理解
定義如下:
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @Documented @Import(DelegatingWebMvcConfiguration.class) public @interface EnableWebMvc { }
發(fā)現(xiàn)該注解中引入的 DelegatingWebMvcConfiguration.class
@Configuration(proxyBeanMethods = false)
public class DelegatingWebMvcConfiguration extends WebMvcConfigurationSupport {
...
}
public class WebMvcConfigurationSupport implements ApplicationContextAware, ServletContextAware { @Bean @SuppressWarnings("deprecation") public RequestMappingHandlerMapping requestMappingHandlerMapping( @Qualifier("mvcContentNegotiationManager") ContentNegotiationManager contentNegotiationManager, @Qualifier("mvcConversionService") FormattingConversionService conversionService, @Qualifier("mvcResourceUrlProvider") ResourceUrlProvider resourceUrlProvider) { ... } ... }
其中 實(shí)現(xiàn)類 WebMvcConfigurationSupport.java 中 預(yù)定義了 多個(gè) Spring Bean 對(duì)象,
隨著 @EnableWebMVC 驅(qū)動(dòng)注解的加載而被加載到 Spring 上下文中從而實(shí)現(xiàn) Spring Web MVC的功能。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Python調(diào)用百度語(yǔ)音合成SDK實(shí)現(xiàn)文字轉(zhuǎn)音頻的方法
這篇文章主要介紹了關(guān)于Python調(diào)用百度語(yǔ)音合成SDK實(shí)現(xiàn)文字轉(zhuǎn)音頻的方法,AipSpeech是語(yǔ)音合成的Python?SDK客戶端,為使用語(yǔ)音合成的開發(fā)人員提供了一系列的交互方法,需要的朋友可以參考下2023-07-07python虛擬機(jī)pyc文件結(jié)構(gòu)的深入理解
這篇文章主要為大家介紹了python虛擬機(jī)之pyc文件結(jié)構(gòu)的深入探究理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03python批量檢查兩個(gè)對(duì)應(yīng)的txt文件的行數(shù)是否一致的實(shí)例代碼
這篇文章主要介紹了python批量檢查兩個(gè)對(duì)應(yīng)的txt文件的行數(shù)是否一致,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10Python機(jī)器學(xué)習(xí)之PCA降維算法詳解
今天帶大家復(fù)習(xí)python機(jī)器學(xué)習(xí)的知識(shí)點(diǎn),文中對(duì)PCA降維算法介紹的非常詳細(xì),對(duì)正在學(xué)習(xí)python機(jī)器學(xué)習(xí)的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05Keras中Sequential模型和Functional模型的區(qū)別及說(shuō)明
這篇文章主要介紹了Keras中Sequential模型和Functional模型的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12基于python實(shí)現(xiàn)圖書管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于python實(shí)現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04Python Pygame實(shí)戰(zhàn)之水果忍者游戲的實(shí)現(xiàn)
大家還記得水果忍者這個(gè)游戲嗎?想當(dāng)年,這也是個(gè)風(fēng)靡全國(guó)的游戲,基本每個(gè)人都玩過(guò)。今天小編就用Python中的Pygame庫(kù)復(fù)刻這一經(jīng)典游戲,需要的可以參考一下2022-02-02簡(jiǎn)單理解Python中的事件循環(huán)EventLoop
在 python 3中,加入了 asyncio 模塊,來(lái)實(shí)現(xiàn)協(xié)程,其中一個(gè)很重要的概念是事件循環(huán),本文我們就來(lái)自己實(shí)現(xiàn)一個(gè)相對(duì)簡(jiǎn)單的EventLoop,從而了解一下事件循環(huán)是如何進(jìn)行運(yùn)轉(zhuǎn)的吧2023-10-10