参考:《Spring源码深度解析》
环境搭建需要:spring-core,spring-beans
一般最常见的使用BeanFactory获取Bean的方法如下(XmlBeanFactory现已被弃用)
public void testLoad(){
BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("filePath"));
ObjectBean oBean = (ObjectBean)beanFactory.getBean("beanName");
}
xml文件写为
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
<bean id="beanName" class="Beans.MyTestBean"/>
</beans>
其中XmlBeanFactory继承自DefaultListableBeanFactory(Bean加载的核心类)
DefaultListableBeanFactory(Bean加载的核心部分):综合下面的所有功能,主要是对bean注册后的处理
extends:
AbstractAutowireCapableBeanFactory
AbstractBeanFactory
ConfigurableBeanFactory(1):提供配置Factory的各种方法
implements:
ConfigurableListableBeanFactory
AutowireCapableBeanFactory:提供创建bean,自动注入,初始化及应用bean后的处理器
ConfigurableBeanFactory(1)同
ListableBeanFactory:根据各种条件获取bean的配置清单
BeanDefinitionRegistry
AliasRegistry:定义alias的简单增删改查等操作
Serializable
new ClassPathResource(“filename”);
new XmlBeanFactory(Resource resource) 这里简化为传入一个 Resource对象
(DefaultBeanDefinitionDocumentReader类 L58 ) protected void doRegisterBeanDefinitions(Element root)
(L76 )this.parseBeanDefinitions(root, this.delegate);
(L87 )protected void parseBeanDefinitions(Element root, BeanDefinitionParserDelegate delegate)
(L96 )this.parseDefaultElement(ele, delegate);
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务