• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Spring @Enable模块驱动原理及使用实例

python 搞代码 4年前 (2022-01-09) 28次浏览 已收录 0个评论

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 服务器模块
@来1源gaodai#ma#com搞*代#码1网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的功能。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Spring @Enable模块驱动原理及使用实例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址