Spring @Enable模塊驅(qū)動原理及使用實例
Spring @Enable 模塊概覽
| 框架實現(xiàn) | @Enable注解模塊 | 激活模塊 |
| Spring Framework | @EnableWebMvc | Web MVC 模塊 |
| @EnableTransactionManagement | 事務(wù)管理模塊 | |
| @EnableCaching | Caching 模塊 | |
| @EnableMBeanExport | JMX 模塊 | |
| @EnableAsync | 異步處理模塊 | |
| @EnableWebFlux | Web Flux 模塊 | |
| @EnableAspectJAutoProxy | AspectJ 代理模塊 | |
| Spring Boot | @EnableAutoConfiguration | 自動裝配 |
| @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) {
...
}
...
}
其中 實現(xiàn)類 WebMvcConfigurationSupport.java 中 預(yù)定義了 多個 Spring Bean 對象,
隨著 @EnableWebMVC 驅(qū)動注解的加載而被加載到 Spring 上下文中從而實現(xiàn) Spring Web MVC的功能。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Python調(diào)用百度語音合成SDK實現(xiàn)文字轉(zhuǎn)音頻的方法
這篇文章主要介紹了關(guān)于Python調(diào)用百度語音合成SDK實現(xiàn)文字轉(zhuǎn)音頻的方法,AipSpeech是語音合成的Python?SDK客戶端,為使用語音合成的開發(fā)人員提供了一系列的交互方法,需要的朋友可以參考下2023-07-07
python虛擬機(jī)pyc文件結(jié)構(gòu)的深入理解
這篇文章主要為大家介紹了python虛擬機(jī)之pyc文件結(jié)構(gòu)的深入探究理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
python批量檢查兩個對應(yīng)的txt文件的行數(shù)是否一致的實例代碼
這篇文章主要介紹了python批量檢查兩個對應(yīng)的txt文件的行數(shù)是否一致,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
Python機(jī)器學(xué)習(xí)之PCA降維算法詳解
今天帶大家復(fù)習(xí)python機(jī)器學(xué)習(xí)的知識點(diǎn),文中對PCA降維算法介紹的非常詳細(xì),對正在學(xué)習(xí)python機(jī)器學(xué)習(xí)的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
Keras中Sequential模型和Functional模型的區(qū)別及說明
這篇文章主要介紹了Keras中Sequential模型和Functional模型的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
Python Pygame實戰(zhàn)之水果忍者游戲的實現(xiàn)
大家還記得水果忍者這個游戲嗎?想當(dāng)年,這也是個風(fēng)靡全國的游戲,基本每個人都玩過。今天小編就用Python中的Pygame庫復(fù)刻這一經(jīng)典游戲,需要的可以參考一下2022-02-02
簡單理解Python中的事件循環(huán)EventLoop
在 python 3中,加入了 asyncio 模塊,來實現(xiàn)協(xié)程,其中一個很重要的概念是事件循環(huán),本文我們就來自己實現(xiàn)一個相對簡單的EventLoop,從而了解一下事件循環(huán)是如何進(jìn)行運(yùn)轉(zhuǎn)的吧2023-10-10

