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

北京网站建设百度排名营销策划公司介绍

北京网站建设百度排名,营销策划公司介绍,展示型网站系统,网站设计的技术方案一、springbean的生命周期? 阶段核心接口和实现类详细步骤和描述1、读取并解析配置元信息到BeanDefinitionBeanDefinitionReader—>XmlBeanDefinitionReader #loadBeanDefinitions()读取的源: XML配置bean注解声明的beanpackage扫描、classpath、Groovy文件、properties文…

一、springbean的生命周期?

阶段核心接口和实现类详细步骤和描述
1、读取并解析配置元信息到BeanDefinition

BeanDefinitionReader—>XmlBeanDefinitionReader #loadBeanDefinitions()读取的源:

XML配置bean
注解声明的bean
package扫描、classpath、Groovy文件、properties文件
BeanDefinition->GenericBeanDefinition存储bean的定义信息
2、BeanDefinition注册BeanDefinitionRegistry->DefaultListableBeanFactory#registerBeanDefinition()存入DefaultListableBeanFactory的beanDefinitionMap<String,BeanDefinition>
3、bean实例化1、AbstractBeanFactory#getMergedLocalBeanDefinition()

1、BeanDefinition合并;

2、加载bean对应的class类;

1、读取配置源到BeanDefinition

1)具体源码见:

Spring源码-读取XML文件配置信息-CSDN博客文章浏览阅读176次。4、parseBeanDefinitionElement()方法:解析到BeanDefinitionHolder,BeanDefinitionHolder.getBeanDefinition()就得到BeanDefinition。3、registerBeanDefinitions方法调用parseBeanDefinitions方法进行bean标签doc元素解析。2、doLoadBeanDefinitions()方法:1)读取到Doc里面;2)解析Doc注册为BeanDefinition。https://blog.csdn.net/qq_19952029/article/details/140500505

2)从XML源构建BeanDefinition示例:

/*** xml方式bean配置信息解析*/
@Test
public void test1() {//定义一个spring容器,这个容器默认实现了BeanDefinitionRegistry,所以本身就是一个bean注册器DefaultListableBeanFactory factory = new DefaultListableBeanFactory();//定义一个xml的BeanDefinition读取器,需要传递一个BeanDefinitionRegistry(bean注册器)对象XmlBeanDefinitionReader xmlBeanDefinitionReader = new XmlBeanDefinitionReader(factory);//指定bean xml配置文件的位置String location = "classpath:/com/javacode2018/lesson002/demo2/beans.xml";//通过XmlBeanDefinitionReader加载bean xml文件,然后将解析产生的BeanDefinition注册到容器容器中int countBean = xmlBeanDefinitionReader.loadBeanDefinitions(location);System.out.println(String.format("共注册了 %s 个bean", countBean));//打印出注册的bean的配置信息for (String beanName : factory.getBeanDefinitionNames()) {//通过名称从容器中获取对应的BeanDefinition信息BeanDefinition beanDefinition = factory.getBeanDefinition(beanName);//获取BeanDefinition具体使用的是哪个类String beanDefinitionClassName = beanDefinition.getClass().getName();//通过名称获取bean对象Object bean = factory.getBean(beanName);//打印输出System.out.println(beanName + ":");System.out.println("    beanDefinitionClassName:" + beanDefinitionClassName);System.out.println("    beanDefinition:" + beanDefinition);System.out.println("    bean:" + bean);}
}

2、BeanDefinition注册

1)注册器BeanDefinitionRegistry接口的唯一实现类:DefaultListableBeanFactory

2)将BeanDefinition放到beanDefinitionMap。


@SuppressWarnings("serial")
public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactoryimplements ConfigurableListableBeanFactory, BeanDefinitionRegistry, Serializable {
private final Map<String, BeanDefinition> beanDefinitionMap = new ConcurrentHashMap<>(256);
@Overridepublic void registerBeanDefinition(String beanName, BeanDefinition beanDefinition)throws BeanDefinitionStoreException {Assert.hasText(beanName, "Bean name must not be empty");Assert.notNull(beanDefinition, "BeanDefinition must not be null");if (beanDefinition instanceof AbstractBeanDefinition) {try {((AbstractBeanDefinition) beanDefinition).validate();}catch (BeanDefinitionValidationException ex) {throw new BeanDefinitionStoreException(beanDefinition.getResourceDescription(), beanName,"Validation of bean definition failed", ex);
http://www.dtcms.com/wzjs/29950.html

相关文章:

  • 网站地图提交网站建设优化哪家公司好
  • 美女做视频网站seo网站优化多少钱
  • 推荐一个两学一做的网站seo是啥软件
  • 西安做网站多钱百度广告管家
  • 徐州网站制作系统杭州优化seo公司
  • ps做产品的网站2023b站推广大全
  • 上海注册公司费用郑州seo优化外包顾问阿亮
  • 做网站买别人的服务器seo优化网页
  • 南昌专业做网站公司网站搭建平台
  • 电动车行业网站建设今日郑州头条最新新闻
  • 营销型建设网站实训总结搜索引擎网页
  • 重庆疫情通报最新seo优化技巧有哪些
  • 系统开发服务重庆seo按天收费
  • dm建站系统廊坊网络推广优化公司
  • 亚马逊站外推广网站免费网址注册
  • 武汉网站建设seo优化网络运营需要学什么
  • 高端科技网站建设免费b站推广网站下载
  • 政府网站集约化建设讲座PPT上海百度推广客服电话多少
  • jsp网站开发实例pdf网络推广计划制定步骤
  • 做球服的网站有哪些seo网站内部优化
  • 驻马店网站建设电话百度快速收录教程
  • 程序员和软件开发的区别深圳seo专家
  • 广元单页网站制作什么时候网络推广
  • 福州网站建设出格百度网站收录查询
  • 专门做算法项目的网站最新最好的磁力搜索
  • 湖州做网站优化google浏览器官方
  • 网站动态图是怎么做的网络营销的方法有哪些
  • 静态旅游网站开发论文企业培训课程设计
  • 佛山网站推广优化1元购买域名
  • 请人做网站合同深圳网站建设微信开发