Spring Ioc容器的設計主要基于BeanFactory和ApplicationContext兩個接口
1.BeanFactory
創(chuàng)建BeanFactory實例時飘言,需要提供XML文件的絕對路徑壶冒。test1(Hello World項目)中main方法修改代碼如下:
package test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.FileSystemResource;
import dao.TestDao;
public class Test {
public static void main(String[] args) {
//初始化Spring容器,加載配置文件
BeanFactory beanFac = new XmlBeanFactory(new FileSystemResource("C:\\Users\\34201\\Desktop\\spring框架\\test_0308\\test2\\src/applicationContext.xml"));
//通過容器獲取test實例
TestDao tt = (TestDao)beanFac.getBean("test");
tt.sayHello();
}
}
2.ApplicationContext
創(chuàng)建ApplicationContext接口實例通常有三種方法:
1.通過ClassPathXmlApplication創(chuàng)建
2.通過FileSystemXmlApplicationContext創(chuàng)建
3.通過Web服務器實例化ApplicationContext容器
以下代碼使用了第一種方法晨横,通過ClassPathXmlApplication創(chuàng)建ApplicationContext接口,在之前的Hello World項目中我們用的也是此方法。
package test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.FileSystemResource;
import dao.TestDao;
public class Test {
public static void main(String[] args) {
// 初始化Spring容器ApplicationContext,加載配置文件
ApplicationContext appCon = new ClassPathXmlApplicationContext("applicationContext.xml");
TestDao tt = (TestDao) appCon.getBean("test");// test為配置文件中的id
tt.sayHello();
}
}
`