当前位置: 首页 > news >正文

建设网商城网站需要在那里备案网站设计框架

建设网商城网站需要在那里备案,网站设计框架,爱网者,广州知名网站建设网页设计服务Import注解 Enable* 底层依赖于 Import 注解导入一些类,使用 Import 导入的类会被 Spring 加载到 IOC 容器中Import 提供了4种用法: 1.导入Bean2.导入配置类3.导入ImportSelector实现类;一般用于加载配置文件中的类4.导入ImportBeanDefinitio…
  • @Import注解

  • @Enable* 底层依赖于 @Import 注解导入一些类,使用 @Import 导入的类会被 Spring 加载到 IOC 容器中
  • @Import 提供了4种用法:
    • 1.导入Bean
    • 2.导入配置类
    • 3.导入ImportSelector实现类;一般用于加载配置文件中的类
    • 4.导入ImportBeanDefinitionRegistrar实现类
  • @EnableAutoConfiguration注解

  • 可以看看Spring是如何使用@Import 注解的:
  • 进入引导类上的@SpringBootApplication 注解可以看到其注解依赖

  • @EnableAutoConfiguration 注解
  • 进入 @EnableAutoConfiguration 注解可以看到它使用了 @Import 注解导入了 AutoConfigurationImportSelector 这个自动配置的 Selector

  • 进入 AutoConfigurationImportSelector 之后可以找到 selectImports 方法,根据上文所述,这个方法返回了一个 String 类型的数组,数组中定义了很多需要被加载的类

  • 进入加载方法可以看到有一个getCandidateConfigurations方法会返回一个名为 configurations 的 List 集合,在下面的代码中根据条件筛选了这个集合并放入创建的 AutoConfigurationEntry 中返回

  • 进入 getCandidateConfigurations 可以看到他通过 SpringFactoriesLoader 加载了一些配置信息并返回了一个名为 configurations 的 List 集合
  • 下面的断言表示如果这个集合为空的,那么就会出现异常,大概意思为:“不能自动配置一个 claesses,在 META-INF 目录下的 spring.factories 文件下”,如果没有定义 spring.factories 这个文件,那么他就加载不到,加载不到就会出现断言

  • 接下来在 External Libraries 中找到 org.springframework.boot:spring-boot-autoconfigure:2.6.1 下的spring-boot-autoconfigure-2.6.1.jar -> META-INF -> spring.factories 并进入

  • 可以看到这个配置文件中有一个 key 为 org.springframework.boot.autoconfigure.EnableAutoConfiguration 的配置,其中配置了许多的 Configuration,那么这些 Configuration 将来都会被加载
  • 当然这些 Configuration 能否加载出来还得看他们的条件是否满足,比如可以找到前面讲到的 Redis,Redis 在当前配置文件中有一个 RedisAutoConfiguration

  • 进入 RedisAutoConfiguration 可以看到其中有一个 @ConditionalOnClass 条件注解,当这个注解里的条件被满足时,这个类中的 Bean 才会被创建

  • 当然不止这一个会有条件注解,再随便挑一个进去看看:
  • 在 KafkaAutoConfiguration 中同样定义了条件注解,当环境中存在 KafkaProperties 时,这个类中的 Bean 才会被加载

  • 小结:
  • @EnableAutoConfiguration 注解内部使用 @Import(AutoconfigurationImportSelector.class) 来加载配置类
  • 配置文件位置:META-INF/spring.factories
  • 该配置文件中定义了大量的配置类,当 SpringBoot 应用启动时,会自动加载这些配置类,初始化 Bean
  • 并不是所有的 Bean 都会被初始化,在配置类中使用 Condition 来加载满足条件的 Bean
http://www.15wanjia.com/news/54009.html

相关文章:

  • wordpress主题d8seo外包公司如何优化
  • wordpress 网易相册seo整站优化报价
  • 西双网站建设湖南seo快速排名
  • web动态网站开发外贸推广
  • 如何做服装微商城网站哈尔滨网络公司
  • 太原做企业网站的上海外贸seo
  • 网站中怎么做图片的变换职业技能培训
  • 大型网站多少钱今日国内新闻头条
  • 电脑城网站开发需求分析百度怎么收录网站
  • 陕西汉中网站建设seo免费优化工具
  • wordpress为文章添加下载按钮长沙靠谱seo优化价格
  • 松原手机网站开发公司电话河南最新消息
  • 网站开发助理做什么近一周的新闻大事热点
  • 网站html模板福州seo排名优化公司
  • 武汉有那些做网站设计的公司400个成品短视频
  • 做网站要学什么软件最全磁力搜索引擎
  • 廉江市住房和城乡规划建设局网站网站建设公司网站
  • 胶州网站建设培训体系搭建
  • 政府网站改版建设汇报网络热词2021
  • 个人可以建门户网站吗百度浏览器网址链接
  • 杭州低价做网站做网页的网站
  • 校园门户网站系统建设关键技术seo点击排名软件营销工具
  • 天津市建设交通委网站网络维护公司
  • 万户网络建一个网站虽要多少钱精准防控高效处置
  • 网站海报做一张多少钱怎么做线上推广
  • 做三级分销网站设计网络平台推广方式
  • 营销网站建设推广百度关键词优化专家
  • 申请一个域名可以做多少网站seo免费软件
  • 企业网站模板中文网页设计期末作业模板
  • 用php做网站a5站长网