又再开始读 Spring 源码,做一下笔记,方便自己回顾。
最基础的,关于 BeanFactory
接口,可以认为是容器的根基,其它功能更多的接口都是从这里扩展而来。
@Test
public void testSimpleLoad() {
BeanFactory bf = new XmlBeanFactory(new ClassPathResource("spring.xml"));
MyTestBean bean = (MyTestBean) bf.getBean("myTestBean");
Assertions.assertEquals("testString", bean.getTestStr());
}
上面代码就是最基本的使用。
而对应的 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.xsd">
<bean id="myTestBean" class="io.zwt.spring001.MyTestBean"/>
</beans>
至于 MyTestBean
只是一个简单的 POJO 就不列出来了。
实际开发中,很少会直接使用 BeanFactory
接口,一般使用 ApplicationContext
等。
从配置文件,到可以使用的 Bean,这个过程里边主要有以下一些步骤:
- 读取配置文件。
- 根据配置文件找到对应的类,并进行实例化。
- 调用实例化后的实例。