spring5.0.10注解版-一些核心组件作用、初始化时机

1.beanFactory :容器调用无参构造器时,先调用父类的无参构造器:GenericApplicationContext,这个类定义了

DefaultListableBeanFactory并在无参构造器中初始化, beanFactory的作用:保存bean的定义信息

bean实例化之后保存在哪?

2.prepareBeanFactory(ConfigurableListableBeanFactory beanFactory)方法解析:

1-设置类加载器:   beanFactory.setBeanClassLoader(getClassLoader());

2-设置bean表达式解析器(支持el表达式解析)

3-添加一些bean的后置处理器:

1、ApplicationContextAwareProcessor,它实现了BeanPostProcessor接口 ,它的作用是:bean初始化前,                   调用invokeAwareInterfaces(bean),该方法运行流程,判断传入的bean是否是Aware类型,然后再判属                   于哪种Aware(EnvironmentAware、EmbeddedValueResolverAware、ResourceLoaderAware、

ApplicationEventPublisherAware、MessageSourceAware、ApplicationContextAware),然后调用这个                     bean 实现对应接口的方法:setxxx(xxx)

2、ApplicationListenerDetector

3、......

4-忽略一些自动装配的接口:ApplicationContextAwareProcessor里面判断的那些接口

5-注册可以解析的自动装配组件:可以在任何组件中自动注入

BeanFactory、ResourceLoader、ApplicationEventPublisher、ApplicationContext

6-给BeanFactory中注册一些能用的组件;

     environment【ConfigurableEnvironment】、
     systemProperties【Map<String, Object>】、
     systemEnvironment【Map<String, Object>】

3.

原文地址:https://www.cnblogs.com/dengrong/p/10834752.html

时间: 2024-09-30 16:25:40

spring5.0.10注解版-一些核心组件作用、初始化时机的相关文章

VisualSVN 4.0.10 破解版 附上破解过程

VisualSVN一般情况下使用不需要破解,可以直接使用社区授权.但是社区授权不支持域用户. 如果要再域下面使用就需要破解了. 原版的VisualSVN和破解后的DLL已打包上传(仅供学习使用) 破解方法: 1.安装原版VisualSVN 2.打开“C:\Program Files (x86)\VisualSVN\bin” 3.替换“VisualSVN.Core.dll” 4.打开VS,VisualSVN,About VisualSVN,LicenseType是Professional就成功了.

UltraEdit for mac 3.2.0.10免费破解版下载!!

http://www.mactech.cn/a/108.html UltraEdit for mac 3.2.0.10破解版下载地址 看很多朋友不知道算号器的使用方法,分享如下: 1. 解压UltraEdit_3.2.0.10.zip 2. 断开网络连接(禁用或者拔网线,关WIFI,重要!!亲测) 3. 拷贝UltraEdit.app到/Appliecations目录 4. 打开UltraEdit.app会提示注册,点击[注册],在接下来的对话框中的[许可证ID]和[密码]中任意输入数字即可,点

【Navicat_Premium_11.0.10】破解版

数据库管理的超级工具 Navicat_Premium_11.0.10破解版: Navicat_Premium_11.0.10 ,功能全开,支持多种数据库,爽~ 下载地址请拖到本文最后: 在没和谐前永久共享: 链接: https://pan.baidu.com/s/1boJuK3P 密码: ehtv

L脚本语言语法手册 0.10版

L脚本语言语法手册 0.10版 赵亮       简  介 L脚本语言是一个轻量级的,旨在接近自然语言的编程语言,目前支持在中文.英文基础上的编程.并可扩展为任意语种.L脚本语言的语法结构简单,程序结构相对松散,易学易用. 目前L脚本语言仍处于开发初期,功能尚不完善.目前提供了一个简单的源码编辑器,建议使用notepad++或者ultraedit进行源码编辑. 目录 一.        介绍.. 2 二.        注释.. 3 三.        对象定义和引用.. 3 四.       

3星|《多样性红利》:10年旧书,《群体智慧》的注解版,习题集性质

多样性红利 10年旧书了,书后版权页上英文版的版权是2007年的,亚马逊英文版上搜到的版本是2008年的. 全书可以看作<群体智慧>的注解版,后半部分的内容又在讲投票规则,但是不如<议事的科学>讲的好和全. 书中充值着类似习题讲解的内容,用例子和公式来证明多样性的群体的决策和判断优于专家. 书中给出了群体智慧优于专家智慧的条件:有多样性的预测模型;人们是相互独立的,不允许人与人之间产生相互影响;预测过程是分散的,人们不会相互交流. 作者也说应该用实际的案例来说明群体智慧更优.不过书

Spring 注解 @Scheduled(cron = &quot;0 0/10 * * * ? &quot;) 任务调度动态改变时间

不需要重启应用就可以动态的改变Cron表达式的值 import java.util.Date; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.Trigger; import org.springframework.scheduling.TriggerC

springMVC 注解版

关于Spring MVC注解 @Transactional 事务标签 @InitBinder 标签 分类: Java开发 源代码分享2012-06-14 10:59 7721人阅读 评论(2) 收藏 举报 springmvcjavaemailpathstring 主要用到了spring-aop-2.5.6.jar的AOP支持包! 之前我们在AccountService中加入了注解@Transactional标签,但是要想要真正发挥事务作用,还需要一些配置. 主要需要调整dao.xml文件 dao

java web学习总结(二十一) -------------------模拟Servlet3.0使用注解的方式配置Servlet

一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: 1 <servlet> 2 <servlet-name>ActionServlet</servlet-name> 3 <servlet-class>me.gacl.web.controller.ActionServlet</servlet-class> 4 </servlet> 5 6 <ser

[红帽企业Linux.5.10服务器版]下安装VMWare Tools

VMware-Tools的作用:     VMWare Tools是Vmware提供的增强虚拟显卡和硬盘性能.以及同步虚拟机与主机时钟的驱动程序安虚拟机的驱动用的,直接效果就是可以提高虚拟系统的显示分辨率,而且鼠标可以在虚拟机界面和主机界面之间直接切换,不用按ctrl+alt. 安装条件:     1.VMware下的RedHatLinux已经安装完成     2.有本版本的VMware下的Linux光盘映像文件.     建议安装VMware完整版,这样VMware安装完成后Linux光盘映像