问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

spring常用注解作用与常用接口与后置处理器

发布网友 发布时间:2022-10-26 00:52

我来回答

1个回答

热心网友 时间:2023-09-12 17:01

从spring2.5之后,spring注解驱动开发慢慢取代了Spring的xml配置文件的作用,而且目前流行的SpringBoot开发也是基于spring注解驱动做扩展的,所以想要理解好SpringBoot,就必须掌握一些spring的注解驱动。

以前xml的做法是

现在使用spring注解的做法是

java8之后ComponentScan注册加了@Repeatable(ComponentScans.class),可以直接在配置类上标注多个@Componentscan,在java8之前想配置多个@Componentscan扫描,需要用@ComponentScans

给容器注册组件(bean)的几种方式
1.包扫描+组件标注注解(@Service、@Controller、@Repository、@Componet),这种方式用于导入自己写的类
2.@Bean方式导入,常用入导入第三方包里面的类 默认bean id为导入执行的方法名
3.@Import方式导入(有三种用法),默认的bean id为全类名
4.通过FactoryBean(工厂bean)

-bean创建->初始化->销毁

applicationContextAeare和EmbeddedValueResolverAeare都是通过ApplicationContextAwareProcessor后置处理器来实现的

BeanFactoryPostProcessor是在bean定义信息加载完成后调用
BeanDefinitionRegistryPostProcessor是在bean定义信息将要加载时调用
先执行BeanDefinitionRegistryPostProcessor的实现类再执行BeanFactoryPostProcessor的实现类

创建bean的源码位置
org.springframework.context.support.AbstractApplicationContext#finishBeanFactoryInitialization
->org.springframework.beans.factory.BeanFactory#getBean(java.lang.String, java.lang.Class<T>)
-->org.springframework.beans.factory.support.AbstractBeanFactory#createBean
--->org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#doCreateBean
执行bean对象的实例化
->org.springframework.beans.factory.support.AbstractBeanFactory#createBean
给bean的属性赋值
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#populateBean

initializeBean方法主要做了三个操作1.循环执行后置处理器的的前置方法(applyBeanPostProcessorsBeforeInitialization)、2.再执行初始化方法(invokeInitMethods),3.再执行后置处理器的的后置方法(applyBeanPostProcessorsAfterInitialization)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#initializeBean(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 SUQQU英国专柜多少钱?我同学暑假去英国,想让她帮我带suqqu的眼影(美丽的轴),我想知道价格大概是多少 小度智能平板m10怎么样 急急急!!!!煮姜汤不放红糖要怎么煮,详细一点,因为家里没有红糖了,还没办法出去买,很急,请大家... 生孩子前准备哪些东西 马上要生小孩了要准备什么东西? 我想问一下支付宝云支付怎么开通 龄妙 龙 颜皆似水,绝代 芳 华笑倾城。。 求解释 意思?? 其中 龙 芳 二字为人名 英雄联盟里面黄色斗篷的头像是哪个英雄? 银行系统系统落户公示与市人社人才落户公示一样吗? 我买下的房,原房主户出没迁出我落不进,也联系不到元房主,*让我写一个迁户口公示我怎么写? 连云港户口强制迁出公示期多久 我是河北农村的医疗卡,去北京医院看病,能不能报销一部分费用。 如何用手机控制海信电视上的优酷 豌豆瘦身团队靠谱吗? 多燕瘦健康瘦身品牌平台开始多久了? 多燕瘦健康瘦身品牌平台最优秀的团队。 多燕瘦健康瘦身品牌平台 小米手机屏幕变暗了啥原因 中央六台放过的一部中国动画片~~~ 跪求一部老动画片名字 高额悬赏300分 进来看看谢谢了 关于留学在校成绩,高手来!!回答的好追分50 在初中时看过一本武侠小说残本不知道到书名,只记得讲的是一个姓古的 哪里能买到康师傅土豆炖牛肉方便面?东北炖系类的,2011-2012年有这个面 康师傅红烧牛肉面可以跟马铃薯一起吃吗 米小宝晚稻油粘米好吃吗 包浆米和大米的区别 银川周边自驾游有哪些去处? 银川有什么好玩的地方,谁能告诉我 原神璃月港酒楼在哪 三点水加倍的右半部念什么 三点水加倍的右边念什么? 三点水加倍字的一半是什么字 三点水加倍的右半边念什么 谁有鬼怪saty with me这首歌的前奏不分铃声么 板栗煲什么汤比较好喝 板栗汤的烹饪方法 刻字机问题,百思不得其解,请高手帮忙!!! 篆刻斜口刀头刀怎样用 文泰刻绘机怎样调刀头力度 刻字机怎样换刀? 在58同城我想招聘足浴养生技师怎么弄 有什么靠谱的招聘网站推荐?挑选工作时有哪些注意事项? 看一下58同城我要招聘工人