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

求一个做美食视频的网站工业设计包括哪些产品

求一个做美食视频的网站,工业设计包括哪些产品,字体设计在线,电脑培训学校课程第一个SpringBoot程序 自动装配原理 Springboot的自动装配实际上就是为了从Spring.factories文件中获取到对应的需要进行自动装配的类,并生成相应的Bean对象,然后将它们交给Spring容器来帮我们进行管理 启动器:以starter为标记 EnableAuto…

第一个SpringBoot程序

自动装配原理

Springboot的自动装配实际上就是为了从Spring.factories文件中获取到对应的需要进行自动装配的类,并生成相应的Bean对象,然后将它们交给Spring容器来帮我们进行管理
启动器:以starter为标记

@EnableAutoConfiguration
这个注解是开启自动配置的功能,里面包含了两个注解

@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
在这里插入图片描述

@AutoConfigurationPackage
这个注解的作用说白了就是将主配置类(@SpringBootApplication标注的类)所在包以及子包里面的所有组件扫描并加载到spring的容器中,这也就是为什么我们在利用springboot进行开发的时候,无论是Controller还是Service的路径都是与主配置类同级或者次级的原因
@Import(AutoConfigurationImportSelector.class)
上一个注解我们把所有组件都加载到了容器里面,这个注解就是将需要自动装配的类以全类名的方式返回,那是怎么找到哪些是需要自动装配的类呢?

1、AutoConfigurationImportSelector这个类里面有一个方法selectImports(),如下
在这里插入图片描述

springboot自动装配的流程

1、在springboot启动的时候会创建一个SpringApplication对象,在对象的构造方法里面会进行一些参数的初始化工作,最主要的是判断当前应用程序的类型以及设置初始化器以及监听器,并在这个过程中会加载整个应用程序的spring.factories文件,将文件中的内容放到缓存当中,方便后续获取;

2、SpringApplication对象创建完成之后会执行run()方法来完成整个应用程序的启动,启动的过程中有两个最主要的方法prepareContext()和refreshContext(),在这两个方法中完成了自动装配的核心功能,在run()方法里还执行了一些包括上下文对象的创建,打印banner图,异常报告期的准备等各个准备工作,方便后续进行调用;

3、在prepareContext()中主要完成的是对上下文对象的初始化操作,包括属性的设置,比如设置环境变量。在整个过程中有一个load()方法,它主要是完成一件事,那就是将启动类作为一个beanDefinition注册到registry,方便后续在进行BeanFactoryPostProcessor调用执行的时候,可以找到对应执行的主类,来完成对@SpringBootApplication、@EnableAutoConfiguration等注解的解析工作;

4、在refreshContext()方法中会进行整个容器的刷新过程,会调用spring中的refresh()方法,refresh()方法中有13个非常关键的方法,来完成整个应用程序的启动。而在自动装配过程中,会调用的关键的一个方法就是invokeBeanFactoryPostProcessors()方法,在这个方法中主要是对ConfigurationClassPostProcessor类的处理,这个类是BFPP(BeanFactoryPostProcessor)的子类,因为实现了BDRPP(BeanDefinitionRegistryPostProcessor)接口,在调用的时候会先调用BDRPP中的postProcessBeanDefinitionRegistry()方法,然后再调用BFPP中的postProcessBeanFactory()方法,在执行postProcessBeanDefinitionRegistry()方法的时候会解析处理各种的注解,包含@PropertySource、@ComponentScan、@Bean、@Import等注解,最主要的是对@Import注解的解析;

5、在解析@Import注解的时候,会有一个getImport()方法,从主类开始递归解析注解,把所有包含@Import的注解都解析到,然后在processImport()方法中对import的类进行分类,例如AutoConfigurationImportSelect归属于ImportSelect的子类,在后续的过程中会调用DeferredImportSelectorHandler类里面的process方法,来完成整个EnableAutoConfiguration的加载。

http://www.yayakq.cn/news/649164/

相关文章:

  • 枞阳做网站设计公司的企业规划
  • 网站建站平台系统网站是否wordpress
  • 低代码网站开发平台建立网站tk
  • 找工程去哪个网站app开发大概多少钱
  • 苏州电子商务网站开发公司wordpress主题站主题
  • 外贸网站建设预算重庆网站设计重庆最加科技
  • 东营网站建设培训学校网络规划设计 网站建设
  • 破解版网站建设虹桥做网站
  • php网站开发心得3500字网站开发合同需要交印花税吗
  • 写资料的网站有哪些内容wordpress做一个查找数据库
  • 怎么建立和设计公司网站织梦大气企业网站模板(扁平化风格)
  • 网站建设虍金手指花总沧州市网站优化排名
  • 游戏设计网站保定市工程造价信息网
  • 如何增加网站关键词库如何做网站的自由撰稿人
  • 如何免费弄一个网站设计素材网站 ps
  • 衣服网站模板大庆网站建设
  • 建设银行福州分行招聘网站自己做网站自己做SEO
  • 网站 猜你喜欢 怎么做西安网站价格
  • 网站维护需要多长时间汾阳今天重大新闻
  • 有趣的网站初音网站首页介绍
  • 重庆网站开发服务哪里有零基础网站建设教学公司
  • 非凡网站开发培训电商网站建设小兔仙
  • 浙江网络公司网站建设微网站建设报价表
  • 湖南做网站公司北京临沂商会网站建设
  • 网站改版的必要性国外flash网站欣赏
  • 西安专业做网站的公司哪家好建设自己网站需要多钱
  • 做婚恋网站需要什么资质怎么租服务器做网站
  • 网站开发有哪些优化师
  • 游戏网站后台建设移动网站开发服务
  • 网站 开发 备案代理青岛网站建设加王道下拉