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. Struts的Java 5 扩展框架Strecks 1.0 发布2. python学习之可迭代对象、迭代器、生成器3. JSP的request对象实例详解4. JavaScript与JQuery框架基础入门教程5. 解决vue3中from表单嵌套el-table时填充el-input,v-model不唯一问题6. 解决docker run中使用 ./ 相对路径挂载文件或目录失败的问题7. python程序文件扩展名知识点详解8. PHP session反序列化漏洞超详细讲解9. JAVAONE:虚拟机及并行语言项目10. Python常用base64 md5 aes des crc32加密解密方法汇总

网公网安备