Spring容器
Spring容器的作用:
Spring容器是生成Bean实例的工厂,并且管理容器中的Bean。Bean是Spring管理的基本单位。
?
Spring中的两个核心接口:
BeanFactory
ApplicationContext(继承于BeanFactory)
?
在Spring中,所有的组件都是被当为Bean来处理的,所以了解Bean如何配置很重要,同时,深入的了解生成和管理这些Bean的Spring容器也很重要。
?
Spring容器负责创建Bean实例,所以需要知道每个Bean的实现类。在Java的面向接口编程中,是无需关心Bean的具体实现类的。但是在Spring容器必须能够精确的知道每个Bean实例的实现类,所以在Spring的Bean配置文件中需要明确的配置具体的实现类
<bean id="stoneAxe" name="code">/* * 独立的应用程序使用文件系统实例化BeanFactory */FileSystemResource isr=new FileSystemResource("MyXml.xml");XmlBeanFactory factory=new XmlBeanFactory(isr);Person p=(Person)factory.getBean("chinese");p.useAxe();?
/* * 独立的应用程序使用类加载路径的方式实例化BeanFactory */ClassPathResource cpr=new ClassPathResource("MyXml.xml");XmlBeanFactory factory=new XmlBeanFactory(cpr);Person p=(Person)factory.getBean("chinese");p.useAxe();?
加载多个配置文件的方式:文件系统方式和类加载路径方式
/* * 多个属性配置文件类加载路径方式实例化ApplicationContext */ClassPathXmlApplicationContext appContext=new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","MyXml.xml"});BeanFactory factory=appContext;Person p=(Person)factory.getBean("chinese");p.useAxe();?
/* * 多个属性配置文件文件系统方式实例化ApplicationContext */FileSystemXmlApplicationContext appContext=new FileSystemXmlApplicationContext(new String[]{"applicationContext.xml","MyXml.xml"});BeanFactory factory=appContext;Person p=(Person)factory.getBean("chinese");p.useAxe();?