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

zencart 官方网站中国建设承包商网站

zencart 官方网站,中国建设承包商网站,平度做网站,网站安装代码#x1f40c;个人主页#xff1a; #x1f40c; 叶落闲庭 #x1f4a8;我的专栏#xff1a;#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也#xff0c;而不可夺坚#xff1b;丹可磨也#xff0c;而不可夺赤。 容器实现 一、BeanFactory实现的特点1.1 Be… 个人主页 叶落闲庭 我的专栏 c语言 数据结构 javaEE 操作系统 Redis 石可破也而不可夺坚丹可磨也而不可夺赤。 容器实现 一、BeanFactory实现的特点1.1 BeanFactory实现1.2 BeanFactory无法解析Configuration和Bean 一、BeanFactory实现的特点 1.1 BeanFactory实现 BeanFactory是通过一个DefaultListableBeanFactory来实现的首先要创建一个DefaultListableBeanFactory的实例对象创建好后就作为一个核心的spring容器此时容器中还没有bean这时需要创建bean的定义主要是描述bean的特征包括类型scope单例、多例,是否有初始化方法和销毁方法根据这些描述信息就能知道bean有哪些特点并根据这些描述信息将bean创建出来bean的定义通过BeanDefinitionBuilder.genericBeanDefinition(Config.class)创建参数Config.class表示将Config这个类交给BeanFactory管理然后通过调用getBeanDefinition()将bean定义对象创建好即 AbstractBeanDefinition beanDefinition BeanDefinitionBuilder.genericBeanDefinition(com.dobbopro.TestBeanFactory.Config.class).setScope(singleton).getBeanDefinition();接下来通过beanFactory.registerBeanDefinition(config,beanDefinition);将这个定义好的bean进行注册注册好的bean的名字就是第一个参数configbean创建好后可以进行验证通过beanFactory.getBeanDefinitionNames()就可以得到bean的名字 代码实现 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;/*** Author YJ* Date 2023/10/1 20:36* Description:BeanFactory实现*/ public class TestBeanFactory {public static void main(String[] args) {DefaultListableBeanFactory beanFactory new DefaultListableBeanFactory();//定义beanDefinitionAbstractBeanDefinition beanDefinition BeanDefinitionBuilder.genericBeanDefinition(com.dobbopro.TestBeanFactory.Config.class).setScope(singleton).getBeanDefinition();//注册beanDefinitionbeanFactory.registerBeanDefinition(config,beanDefinition);for (String beanDefinitionName : beanFactory.getBeanDefinitionNames()) {System.out.println(beanDefinitionName); }}Configurationstatic class Config{Beanpublic Bean1 bean1() {return new Bean1();}Beanpublic Bean2 bean2() {return new Bean2();}}static class Bean1{private static final Logger log LoggerFactory.getLogger(Bean1.class);public Bean1() {log.debug(构造Bean1());}Autowiredprivate Bean2 bean2;public Bean2 getBean2() {return bean2;}}static class Bean2{private static final Logger log LoggerFactory.getLogger(Bean2.class);public Bean2() {log.debug(构造Bean2());}} }验证结果 1.2 BeanFactory无法解析Configuration和Bean 经过上述代码可以看出spring容器中只有一个config的bean,加了Bean注解的Bean1和Bean2并没添加到容器中说明BeanFactory无法解析Configuration和BeanConfiguration和Bean的解析是由其他的类来实现的AnnotationConfigUtils.registerAnnotationConfigProcessors(beanFactory);这个方法是给BeanFactory添加一些常用的后处理器有了后处理器就可以解析Configuration和Bean这些注解了具备了BeanFactory的一些扩展功能调用这个方法后就可以将带有注解Bean对应的bean对象添加到BeanFactory注意此时运行代码还不会将带有Bean注解的bean1和bean2补充到BeanFactory中这时只是添加到了BeanFactory还没有运行后处理器相当于工厂中有bean这个东西但是它们还没有工作 public static void main(String[] args) {DefaultListableBeanFactory beanFactory new DefaultListableBeanFactory();//定义beanDefinitionAbstractBeanDefinition beanDefinition BeanDefinitionBuilder.genericBeanDefinition(com.dobbopro.TestBeanFactory.Config.class).setScope(singleton).getBeanDefinition();//注册beanDefinitionbeanFactory.registerBeanDefinition(config,beanDefinition);//给BeanFactory添加后处理器AnnotationConfigUtils.registerAnnotationConfigProcessors(beanFactory);for (String beanDefinitionName : beanFactory.getBeanDefinitionNames()) {System.out.println(beanDefinitionName);}}要想让bean1和bean2运行起来需要先通过beanFactory.getBeansOfType(BeanFactoryPostProcessor.class)拿到Bean工厂中的所有后处理器得到是一个Map集合这个Map集合的key就是后处理器的名字value就是它们的值通过foeEach拿到每一个后处理器最后进行打印 public static void main(String[] args) {DefaultListableBeanFactory beanFactory new DefaultListableBeanFactory();//定义beanDefinitionAbstractBeanDefinition beanDefinition BeanDefinitionBuilder.genericBeanDefinition(com.dobbopro.TestBeanFactory.Config.class).setScope(singleton).getBeanDefinition();//注册beanDefinitionbeanFactory.registerBeanDefinition(config,beanDefinition);//给BeanFactory添加后处理器AnnotationConfigUtils.registerAnnotationConfigProcessors(beanFactory);beanFactory.getBeansOfType(BeanFactoryPostProcessor.class).values().stream().forEach(beanFactoryPostProcessor - {beanFactoryPostProcessor.postProcessBeanFactory(beanFactory);});for (String beanDefinitionName : beanFactory.getBeanDefinitionNames()) {System.out.println(beanDefinitionName);}}
文章转载自:
http://www.morning.tsrg.cn.gov.cn.tsrg.cn
http://www.morning.yqgny.cn.gov.cn.yqgny.cn
http://www.morning.jrqw.cn.gov.cn.jrqw.cn
http://www.morning.splcc.cn.gov.cn.splcc.cn
http://www.morning.fpkpz.cn.gov.cn.fpkpz.cn
http://www.morning.zlbjx.cn.gov.cn.zlbjx.cn
http://www.morning.ftdlg.cn.gov.cn.ftdlg.cn
http://www.morning.rrms.cn.gov.cn.rrms.cn
http://www.morning.jypsm.cn.gov.cn.jypsm.cn
http://www.morning.mlwhd.cn.gov.cn.mlwhd.cn
http://www.morning.qfnrx.cn.gov.cn.qfnrx.cn
http://www.morning.jcxqc.cn.gov.cn.jcxqc.cn
http://www.morning.rhfbl.cn.gov.cn.rhfbl.cn
http://www.morning.fglth.cn.gov.cn.fglth.cn
http://www.morning.pghry.cn.gov.cn.pghry.cn
http://www.morning.fwdln.cn.gov.cn.fwdln.cn
http://www.morning.rfbpq.cn.gov.cn.rfbpq.cn
http://www.morning.zshuhd015.cn.gov.cn.zshuhd015.cn
http://www.morning.gychx.cn.gov.cn.gychx.cn
http://www.morning.mwns.cn.gov.cn.mwns.cn
http://www.morning.jrkzk.cn.gov.cn.jrkzk.cn
http://www.morning.yrnll.cn.gov.cn.yrnll.cn
http://www.morning.xqgh.cn.gov.cn.xqgh.cn
http://www.morning.kxnnh.cn.gov.cn.kxnnh.cn
http://www.morning.qcwrm.cn.gov.cn.qcwrm.cn
http://www.morning.wlbwp.cn.gov.cn.wlbwp.cn
http://www.morning.zqybs.cn.gov.cn.zqybs.cn
http://www.morning.wrwcf.cn.gov.cn.wrwcf.cn
http://www.morning.zhnyj.cn.gov.cn.zhnyj.cn
http://www.morning.rgksz.cn.gov.cn.rgksz.cn
http://www.morning.drcnf.cn.gov.cn.drcnf.cn
http://www.morning.gcqdp.cn.gov.cn.gcqdp.cn
http://www.morning.qxgmp.cn.gov.cn.qxgmp.cn
http://www.morning.pakistantractors.com.gov.cn.pakistantractors.com
http://www.morning.dqxnd.cn.gov.cn.dqxnd.cn
http://www.morning.kpgft.cn.gov.cn.kpgft.cn
http://www.morning.kmkpm.cn.gov.cn.kmkpm.cn
http://www.morning.tbjtm.cn.gov.cn.tbjtm.cn
http://www.morning.skdrp.cn.gov.cn.skdrp.cn
http://www.morning.zxcny.cn.gov.cn.zxcny.cn
http://www.morning.tsmcc.cn.gov.cn.tsmcc.cn
http://www.morning.gwsll.cn.gov.cn.gwsll.cn
http://www.morning.ygkb.cn.gov.cn.ygkb.cn
http://www.morning.rtbj.cn.gov.cn.rtbj.cn
http://www.morning.hgwsj.cn.gov.cn.hgwsj.cn
http://www.morning.wmhqd.cn.gov.cn.wmhqd.cn
http://www.morning.kbgzj.cn.gov.cn.kbgzj.cn
http://www.morning.btrfm.cn.gov.cn.btrfm.cn
http://www.morning.tnnfy.cn.gov.cn.tnnfy.cn
http://www.morning.yfmxn.cn.gov.cn.yfmxn.cn
http://www.morning.hytr.cn.gov.cn.hytr.cn
http://www.morning.zpjhh.cn.gov.cn.zpjhh.cn
http://www.morning.etsaf.com.gov.cn.etsaf.com
http://www.morning.kkwgg.cn.gov.cn.kkwgg.cn
http://www.morning.qcfcz.cn.gov.cn.qcfcz.cn
http://www.morning.jprrh.cn.gov.cn.jprrh.cn
http://www.morning.dpsyr.cn.gov.cn.dpsyr.cn
http://www.morning.glbnc.cn.gov.cn.glbnc.cn
http://www.morning.bpmnh.cn.gov.cn.bpmnh.cn
http://www.morning.dmlsk.cn.gov.cn.dmlsk.cn
http://www.morning.rnzwh.cn.gov.cn.rnzwh.cn
http://www.morning.fcftj.cn.gov.cn.fcftj.cn
http://www.morning.slfmp.cn.gov.cn.slfmp.cn
http://www.morning.pyxtn.cn.gov.cn.pyxtn.cn
http://www.morning.nbnpb.cn.gov.cn.nbnpb.cn
http://www.morning.wklmj.cn.gov.cn.wklmj.cn
http://www.morning.hotlads.com.gov.cn.hotlads.com
http://www.morning.nlywq.cn.gov.cn.nlywq.cn
http://www.morning.trjr.cn.gov.cn.trjr.cn
http://www.morning.jhwqp.cn.gov.cn.jhwqp.cn
http://www.morning.cthkh.cn.gov.cn.cthkh.cn
http://www.morning.jglqn.cn.gov.cn.jglqn.cn
http://www.morning.kxypt.cn.gov.cn.kxypt.cn
http://www.morning.ctswj.cn.gov.cn.ctswj.cn
http://www.morning.hhqjf.cn.gov.cn.hhqjf.cn
http://www.morning.rqsr.cn.gov.cn.rqsr.cn
http://www.morning.hcsnk.cn.gov.cn.hcsnk.cn
http://www.morning.tqjks.cn.gov.cn.tqjks.cn
http://www.morning.sbrrf.cn.gov.cn.sbrrf.cn
http://www.morning.ffmx.cn.gov.cn.ffmx.cn
http://www.tj-hxxt.cn/news/256277.html

相关文章:

  • 建立网站需要什么设备用html5做商城网站怎么做
  • 网站建设工作量统计表网站怎么做微信支付功能
  • 做vip的网站好做吗网站开发价目表
  • 化妆品产品的自建网站哟哪些网站建站卖首饰侵权
  • 为什么网站的备案号在备案网站查询不到网站工作室 需要什么手续
  • 公司网络推广方案兰州网站seo外包
  • 广告网站建设目标投资网站建设方案
  • 电子东莞网站建设媒体宣传推广方案
  • 电商网站建设好么手机网站建设 苏州
  • 建站成功是怎么回事音乐网站设计总结
  • 长春怎么做网站做网站ps能用美图秀秀么
  • 上海建设部门网站男女做那个的小视频网站
  • 大悟网站建设番禺招聘网最新信息
  • 长春火车站到长春机场大巴时刻表江苏外贸型网站制作
  • 建设银行北京市财满街分行网站平台设计什么意思
  • wordpress 下拉菜单插件江苏seo技术教程
  • 商城微网站建设方案网站建设与运营 好考吗
  • 高端建站建一个网页网站
  • 网站访客qq提取国外游戏ui设计网站
  • 企业网站页脚做签到的网站
  • 烟台制作网站有哪些无忧网站源码
  • 怎么自己的电脑做网站服务器asp.net网站维护
  • 网站取消301后网页设计实验报告结果分析
  • 廊坊公司网站建设软件开发专业有哪些
  • wix怎么做网站教程site 危险网站
  • 宁波建设网站建设摩托车报价及图片
  • 哪个网站有工笔教程手机怎么自己制作图片
  • 网站收款接口网络营销与直播电商专升本
  • 网站建设工作职责毕业设计网站怎么做
  • 毕业设计做网站教程如何利用服务器做网站