Springboot主程序类注解配置过程图解

 更新时间:2020年10月30日 11:08:00   作者:圣金巫灵  
这篇文章主要介绍了Springboot主程序类注解配置过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

@SpringBootApplication

点进这个注解看

进去第一个注解@SpringBootConfiguration看,上面有Configuration注解

@Configuration 这是Spring的配置类注解, 说明这个类一个配置类,里面都是配置文件

进第二个注解@EnableAutoConfiguration, 顾名思义,这是允许自动配置生效的注解, 接下来进去看它。

@EnableAutoConfiguration

进去后也有两个注解:第一个AutoConfigurationPackage,进去看

里面有这个注解,@Import({Registrar.class}) @Import是spring的底层注解,作用是给Spring导入一个Registrar组件
进去看Registrar

将主配置类所在的包以及以下的包里的所有组件,扫描到Spring容器中。

第二个@Import({AutoConfigurationImportSelector.class})

进AutoConfigurationImportSelector里看,

这个configurations数组是我们需要导入的组件。看看configurations有什么,

实际上是将所有需要导入的组件以类全名的方式返回,这些组件会导入到容器中

能看到是从META-INF/spring.factories里获取EnableAutoConfiguration指定的值,将这些值作为自动配置类导入到容器中,自动配置类就生效,帮我们完成自动配置工作:

看看spring.factories里有什么,有非常多的自动配置类 XXXAutoCOnfiguration(这里就不进去看了),@Import({AutoConfigurationImportSelector.class})就是给容器中导入这个场景需要的所有组件并且配置好

注意spring-boot-autoconfigure.jar包。这里面有所有自动配置的组件

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

相关文章

  • 浅谈Java泛型通配符解决了泛型的许多诟病(如不能重载)

    浅谈Java泛型通配符解决了泛型的许多诟病(如不能重载)

    下面小编就为大家带来一篇浅谈Java泛型通配符解决了泛型的许多诟病(如不能重载)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • Docker搭建前端Java的开发环境详解

    Docker搭建前端Java的开发环境详解

    相信每个人入职第一天就是搭建本地开发环境,因为我司用的是java,看见了多年不见的eclipse的图标出现我的电脑上,我是难过的。后来知道并不是我一个人有此感受。这篇文章是为了解决前后端开发没有彻底分离的坑,详细的给大家介绍了利用Docker搭建前端Java的开发环境。
    2016-10-10
  • Maven仓库镜像配置的方法实现

    Maven仓库镜像配置的方法实现

    本文介绍了如何使用Maven仓库镜像来加速构建过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • SpringCloud两种注册中心的实现

    SpringCloud两种注册中心的实现

    本文主要介绍了SpringCloud两种注册中心的实现,包括服务注册、服务拉取、负载均衡和实例权重配置等,具有一定的参考价值,感兴趣的可以了解一下
    2025-01-01
  • 浅析打开eclipse出现Incompatible JVM的解决方法

    浅析打开eclipse出现Incompatible JVM的解决方法

    本篇文章是对打开eclipse出现Incompatible JVM的解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • SpringMVC拦截器的实现和作用及Redis登陆功能的优化详解

    SpringMVC拦截器的实现和作用及Redis登陆功能的优化详解

    这篇文章主要介绍了Java项目SpringMVC拦截器+Redis优化登录功能实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-09-09
  • MyBatis-Plus通用枚举自动关联注入的实现

    MyBatis-Plus通用枚举自动关联注入的实现

    本文主要介绍了MyBatis-Plus通用枚举自动关联注入的实现,解决了繁琐的配置,让 mybatis 优雅的使用枚举属性,感兴趣的可以一起来了解一下
    2021-06-06
  • java把字符串写入文件里的简单方法分享

    java把字符串写入文件里的简单方法分享

    这篇文章主要介绍了java把字符串写入到文件里的简单方法,这是跟一个外国朋友学的代码,需要的朋友可以参考下
    2014-03-03
  • Spring boot热部署devtools过程解析

    Spring boot热部署devtools过程解析

    这篇文章主要介绍了Spring boot热部署devtools过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 使用SpringBoot获取所有接口的路由

    使用SpringBoot获取所有接口的路由

    这篇文章主要介绍了使用SpringBoot获取所有接口的路由方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论