spring源码分析之容器的使用
本篇博文从通过xml配置一个交由Spring管理的类 并通过XmlBeanFactory类获取的小例子,希望通过这篇文章大家能有所收获。
·
目录
前言:通过写了两篇博文Spring源码分析之一BeanFactory相关和spring源码分析之BeanDefinition相关两篇博文后,我们真正要探究的主题才要开始了。接下来让我们以一个常见的业务场景为例子 以XML的形式一步一步揭开spring容器的使用的神秘面纱。
一、spring容器使用的业务场景
1、xml配置
<?xml version="1.0" encoding="UTF-8"?>
<!-- 从 xsi:schemaLocation中值得后缀可以看出次xml验证模式是xsd模式 -->
<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.xsd">
<!-- xml的形式声明一个需要spring容器帮我们管理的bean实例 -->
<bean id="worker" class="com.xiu.bean.Worker" >
<property name="name" value="索隆" />
</bean>
</beans>
2、java类
//需要spring管理的bean
public class Worker {
private String name;
public Worker(){
System.out.println("the worker object is finish");
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
//测试类
@Test
public void testGetBean(){
//创建beanFactory对象工厂
XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-beans.xml"));
//从工厂中获取对应的bean实例
Worker worker = beanFactory.getBean("worker", Worker.class);
}
3、输出结果

4、总结
总的来说我么需要分析测试方法中的两行代码,看似简单的两行但是分析起来代码很庞大,这大概就是源码分析让人又爱又恨的魔力吧。鉴于篇幅较长,两行代码一行代码一篇博文来介绍
- XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-beans.xml"));
- Worker worker = beanFactory.getBean("worker", Worker.class);
第一行代码到底做了那些功能呢?让我们一起来探究一下吧。
更多推荐

所有评论(0)