Spring @Enable模塊驅動原理及使用實例
Spring @Enable 模塊概覽
框架實現 @Enable注解模塊 激活模塊 Spring Framework @EnableWebMvc Web MVC 模塊 @EnableTransactionManagement 事務管理模塊 @EnableCaching Caching 模塊 @EnableMBeanExport JMX 模塊 @EnableAsync 異步處理模塊 @EnableWebFlux Web Flux 模塊 @EnableAspectJAutoProxy AspectJ 代理模塊 Spring Boot @EnableAutoConfiguration 自動裝配 @EnableManagementContext Actuator 管理模塊 @EnableConfigurationProperties 配置屬性綁定模塊 @EnableOAuth2Sso OAuth2 單點登錄模塊 Spring Cloud @EnableEurekaServer Eureka 服務器模塊 @EnableConfigServer 配置服務器模塊 @EnableFeignClients Feign 客戶端模塊 @EnableZuulProxy 服務網關Zuul 模塊 @EnableCircuitBreaker 服務熔斷模塊
理解 @Enable 以 @EnableWebMVC 為例進行理解
定義如下:
@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)@Documented@Import(DelegatingWebMvcConfiguration.class)public @interface EnableWebMvc {}
發現該注解中引入的 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) { ...}...}
其中 實現類 WebMvcConfigurationSupport.java 中 預定義了 多個 Spring Bean 對象,
隨著 @EnableWebMVC 驅動注解的加載而被加載到 Spring 上下文中從而實現 Spring Web MVC的功能。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
1. React+umi+typeScript創建項目的過程2. ASP調用WebService轉化成JSON數據,附json.min.asp3. php測試程序運行速度和頁面執行速度的代碼4. php網絡安全中命令執行漏洞的產生及本質探究5. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執行過程解析6. 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁7. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報錯問題分析8. ASP中常用的22個FSO文件操作函數整理9. SharePoint Server 2019新特性介紹10. 三個不常見的 HTML5 實用新特性簡介
