城市直播房产教育博客汽车
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

Spring系列(八)Spring生命周期中BeanPost

9月17日 不将就投稿
  今天给大家介绍BeanPostProcessor接口用法,希望对大家能有所帮助!
  1、BeanPostProcessor概念介绍
  BeanPostProcessor接口通常被称为Bean的后置处理器,它是Spring中定义的接口,可以在Spring容器的创建过程中(主要在Bean初始化前后进行工作)回调BeanPostProcessor中定义的两个方法。2、BeanPostProcessor接口方法
  postProcessBeforeInitialization:在每一个bean对象的初始化方法调用之前回调。
  postProcessAfterInitialization:在每个bean对象的初始化方法调用之后被回调。
  说明:以上两个方法的返回值都不能为null,否则在后续的初始化方法会报空指针或者通过getBean()方法无法获取Bean对象。主要原因是如果返回值为null的情况下以上两个方法从Spring容器获取bean实例,没有再次放入Spring容器中去,这样容器中就没有了。2。1BeanPostProcessor源码内容packageorg。springframework。beans。factory。importorg。springframework。beans。BeansEimportorg。springframework。lang。NpublicinterfaceBeanPostProcessor{NullabledefaultObjectpostProcessBeforeInitialization(Objectbean,StringbeanName)throwsBeansException{}NullabledefaultObjectpostProcessAfterInitialization(Objectbean,StringbeanName)throwsBeansException{}}3、BeanPostProcessor接口的作用
  可以Spring容器中完成bean实例化、配置以及其他初始化方法前后根据业务的场景增加相应的逻辑处理。典型的案例AOP的实现。4、代码示例4。1新建Person。java类文件packagecom。spring。publicclassPerson{privateSprivateIprivateSpublicPerson(Stringname,Integerage,Stringaddress){this。this。this。}publicPerson(){}publicStringgetName(){}publicvoidsetName(Stringname){this。}publicIntegergetAge(){}publicvoidsetAge(Integerage){this。}publicStringgetAddress(){}publicvoidsetAddress(Stringaddress){this。}OverridepublicStringtoString(){returnPerson{namename,ageage,addressaddress};}}4。2、新建MyBeanPostProcessor。javapackagecom。spring。importorg。springframework。beans。BeansEimportorg。springframework。beans。factory。config。BeanPostPimportorg。springframework。stereotype。CComponentpublicclassMyBeanPostProcessorimplementsBeanPostProcessor{实例化、依赖注入完毕,在调用显示的初始化之前完成一些自定义的初始化逻辑方法返回值不能为null返回null那么在后续初始化方法会报空指针异常或者通过getBean()方法获取不到bena实例如果设置为null情况下,后置处理器从SpringIoC容器中取出bean实例对象没有再次放回IoC容器中publicObjectpostProcessBeforeInitialization(Objectbean,StringbeanName)throwsBeansException{System。out。println(postProcessBeforeInitialization执行了beanName);}实例化、依赖注入、初始化完成后时执行方法返回值也不能为null如果返回null那么在后续初始化方法将报空指针异常或者通过getBean()方法获取不到bena实例对象如果设置为null情况下,后置处理器从SpringIoC容器中取出bean实例对象没有再次放回IoC容器中publicObjectpostProcessAfterInitialization(Objectbean,StringbeanName)throwsBeansException{System。out。println(postProcessAfterInitializationbeanName);}}4。3、新建TestBeanPostProcessorConfig。java配置类packagecom。spring。importcom。spring。bean。UserIimportorg。springframework。context。annotation。ComponentSimportorg。springframework。context。annotation。Cimportorg。springframework。context。annotation。FilterTimportorg。springframework。stereotype。Cimportorg。springframework。stereotype。CConfigurationComponentScan(valuecom。spring。bean,includeFilters{ComponentScan。Filter(typeFilterType。ANNOTATION,classes{Component。class,Controller。class}),ComponentScan。Filter(typeFilterType。ASSIGNABLETYPE,classes{UserInfo。class}),})publicclassTestBeanPostProcessorConfig{}4。4、新建测试类TestBeanPostProcessor。javapackagecom。spring。importcom。spring。config。TestBeanPostProcessorCimportorg。springframework。context。annotation。AnnotationConfigApplicationCpublicclassTestBeanPostProcessor{publicstaticvoidmain(String〔〕args){AnnotationConfigApplicationContextannotationContextnewAnnotationConfigApplicationContext(TestBeanPostProcessorConfig。class);}}
  输出结果:postProcessBeforeInitialization执行了testBeanPostProcessorConfigpostProcessAfterInitializationtestBeanPostProcessorConfigUserInfo构造器执行了postProcessBeforeInitialization执行了userInfoPostConstruct初始化方法执行postProcessAfterInitializationuserInfoProcessfinishedwithexitcode0
投诉 评论 转载

小鹏汽车3月交付新车1。5万辆同比增长202新京报贝壳财经讯(记者白昊天)4月1日,贝壳财经记者从小鹏汽车官方了解到,品牌3月新能源汽车交付量达15414辆,环比增长148,同比增长202。2022年一季度,小鹏汽车累计……做亚马逊运营的人是不是都很厉害?业绩弄不上去怎么办?亚马逊运营本质是一门销售工作。对于销售而言,业绩是个人能力最重要的体现。对于任何一个行业来说,三年时间是一个关键节点。三年时间能让一个行业小白成为行业专家,对于题主而言,……华为MateX3曝光,或春节后发布,支持5G吗?虽然刚刚在去年发布了华为P50Pocket,但是据知名数码博主菊厂影业Fans爆料,华为下一款可折叠手机可能很快就要到来了。这款手机便是华为MateX3,将可能于春节后发……南卡RunnerPro2耳机16G内存独立播放骨传导技术NF南卡骨传导蓝牙耳机因为其不入耳的骨传导技术,带来更大的安全性,受到许多人尤其是跑者的喜爱,最近南卡又推出了年度旗舰骨传导耳机南卡RunnerPro2,拥有了更大的内存和NFC连……Spring系列(八)Spring生命周期中BeanPost今天给大家介绍BeanPostProcessor接口用法,希望对大家能有所帮助!1、BeanPostProcessor概念介绍BeanPostProcessor接口……盘点2021互联网巨头布局医疗器械华为苹果腾讯互联网医疗正值风口,从远程急救到医院物联网搭建再到日常健康生活的嵌入,苹果、华为、百度、腾讯、美团等巨头玩家纷纷躬身入局,争做这个新兴金字塔顶端的收割者。具备强大流量、技……AMDRyzen3000曝光,四核3。8GHz,网友说好的六据外媒wccftech的报道,在SiSoftwareSandra数据库中,发现了新的MSIX570主板以及疑似Ryzen3000ES的CPU,该工程样本CPU的芯片标记为2DS……我国首款量子芯片设计工业软件发布,有助实现自动化智能设计澎湃财讯近日,合肥本源量子计算科技有限责任公司(下称本源量子)正式发布首个国产量子芯片设计工业软件本源坤元(OriginUnit)。全球用户可通过本源量子云平台直接……2022华为手机挑选推荐攻略华为和荣耀两个品牌之前一直同属于一家,在2020年11月荣耀品牌正式独立,因此本篇内容将仅列举及分析华为品牌旗下的机型。PS:2020年11月前发布的荣耀机型,无论系统或……布碌仑地铁站枪击案发生后Uber和Lyft随即大幅涨价【侨报网报道】周二(4月12日)早上通勤高峰时刻,纽约市布碌仑日落公园(SunsetPark)一个地铁站发生枪击案,致使至少29人受伤。日落公园区域Uber和Lyft的价格随即……有没有主流APP都免流的电话卡?电信星卡,蚂蚁宝卡,芝士卡介流量卡片很多,一般是运营商与互联网公司合作推出的,那么,有没有包含主流APP的手机卡,下面我们一起来了解一下。QQ和微信属于腾讯系APP,属于免流应用范围,但腾讯王卡套餐……地球上的矿藏都大量开采用了,每年都可能有上万亿吨,地球变轻了地球上的矿藏都大量开采用了,每年都可能有上万亿吨,地球变轻了,能否靠近太阳?这里有一个问题,每年开采出上万亿吨的矿藏运到哪里去了?去月球上了吗。。。。还是去火星上了?是不……
网络安全与防范论文有关学前教育的论文焊工高级技师论文推荐德育教育浅谈立宪政治的道统与法统借施米特之法眼读八二宪法文本浅析现代艺术思潮影响下的中国现代陶艺电子白板对高效数学课堂的应用论文中职数学教学问题及对策论文关于毕业论文感谢信锦集6篇金业厂房吊车梁设计思考的论文电力体制改革及相关问题杂谈(之四)综合新能源论文(1)变频器与公用电网谐波的问题
曾轰动央视来采访爆红的山东拉面哥,如今咋样啦?奖励通知公务员基本素质和能力要求单壳体、双壳体、个半壳体,潜艇外壳有多少。。。有人说看今日头条耗电快,这是为什么?产前抑郁对胎儿的影响2035!欧洲告别燃油车解密通过手机号怎样查微信聊天记录(微信聊天记录在哪里查)陈春花数字化时代的组织能力好事近致陈勇兄最后一个单身圣诞

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁