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

 更新时间:2020年06月23日 09:45:47   作者:因分享而收获  
这篇文章主要介绍了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的功能。

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

相关文章

  • Python+Turtle实现绘制可爱的小仓鼠

    Python+Turtle实现绘制可爱的小仓鼠

    肉嘟嘟的小动物很是可爱,这篇文章主要为大家介绍一下如何运用Python中的turtle库控制函数绘制小仓鼠,文中的实现方法讲解详细,感兴趣的可以尝试一下
    2022-10-10
  • 一步步教你用Python画五彩气球

    一步步教你用Python画五彩气球

    这篇文章主要给大家介绍了关于如何用Python画五彩气球的相关资料,主要是用turtle库自带的画笔turtle.Turtle()来绘制气球,文中给出了详细的实例代码,需要的朋友可以参考下
    2023-06-06
  • python同义词替换的实现(jieba分词)

    python同义词替换的实现(jieba分词)

    这篇文章主要介绍了python同义词替换的实现(jieba分词),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 三行代码使用Python将视频转Gif的方法示例

    三行代码使用Python将视频转Gif的方法示例

    本文主要介绍了三行代码使用Python将视频转Gif的方法示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Python生成器定义与简单用法实例分析

    Python生成器定义与简单用法实例分析

    这篇文章主要介绍了Python生成器定义与简单用法,结合实例形式较为详细的分析了Python生成器的概念、原理、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-04-04
  • Python OpenCV实现人物动漫化效果

    Python OpenCV实现人物动漫化效果

    这篇文章主要介绍了利用Python和OpenCV实现人物的动漫化特效,文中的示例代码讲解详细,对我们学习Python和OpenCV有一定的帮助,需要的可以了解一下
    2022-01-01
  • Python基础学习之条件控制语句小结

    Python基础学习之条件控制语句小结

    如果我需要设置一个死循环,然后靠条件来终止,怎么办?一个很简单的问题,但是我却没有说,这一篇本应该在分支控制语句里面的,现在只能拿出来水文再写一篇了,需要的朋友可以参考下
    2021-05-05
  • python使用socket高效传输视频数据帧(连续发送图片)

    python使用socket高效传输视频数据帧(连续发送图片)

    本文主要介绍了python使用socket高效传输视频数据帧(连续发送图片),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 520必备!这些Python表白代码祝你脱单成功

    520必备!这些Python表白代码祝你脱单成功

    不会还有程序猿没有女朋友吧?没关系,今天特地为大家整理了这些Python花式表白代码,你就放心大胆的去吧,需要的朋友可以参考下
    2021-05-05
  • pymysql 插入数据 转义处理方式

    pymysql 插入数据 转义处理方式

    今天小编就为大家分享一篇pymysql 插入数据 转义处理方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03

最新评论