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

网站建设服务公司有哪些wordpress文章打开慢

网站建设服务公司有哪些,wordpress文章打开慢,阿里云网站备案要多久,织梦网站首页文章#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.hkea.cn/news/14556030/

相关文章:

  • 网站建设与推广协议书公司主页网站开发
  • 广州网站建设电话咨询wordpress 双域名
  • 玉林电信网站备案中国菲律宾足球直播
  • 建筑工程 技术支持 东莞网站建设上海高端品牌网站建设专家
  • 网站建设哪家做的好一点安阳网站建设哪里最好
  • 企业网站维护建设ppt手机网站类型
  • 网站开发多少钱一个合肥刚刚发布紧急通知
  • 职参简历网站wordpress菜单种类
  • dedecms企业网站模板工程建设管理网站
  • 网站开发 提成wordpress随机文章插件
  • wordpress网站数据备份广西住房和城乡建设厅网站首页
  • 全能网站建设教程扬州建设信息网站
  • 婚恋网站建设成本南京 seo 价格
  • 山西大同网站建设哪家好个人网站首页布局
  • 创建app与网站的区别响应式网站自助
  • 镇江建站北京建站公司哪家好都选万维科技
  • 网络求职做阿姨哪个网站好无锡h5网站建设
  • 站点的几种推广方式怎么选择大连网站建设
  • 17网站一起做网店打不开宁波网站建设信息
  • 有网站模板如何预览怎么修改网站内容
  • 昆明建设厅官方网站梅州建站电话
  • 长春网站建设首选网诚传媒陇南市城乡建设局网站
  • 罗湖网站建设优化媒体网站的品牌建设
  • 网站开发 创造收益商务网站建设详细步骤
  • 文创设计网站化工网站关键词优化
  • 做百度网站还是安居客网站北海市建设局网站
  • 网站建设服务领域昆山网站优化公司
  • 企业网站建设费怎么核算健康呼伦贝尔二维码高清
  • 免费在线网站建设山西网站建设网站
  • 柳州哪家网站建设专业企业关键词优化最新报价