一、Spring工厂类介绍
如图,这是Spring内部完整的工厂类继承关系图,其中有四个类需要了解:
- BeanFactory 这个接口已经被淘汰,不被推荐使用。这是旧版的Spring提供的工厂接口,功能并没有完善,碍于当时硬件条件,内存资源不足,所以BeanFactory 使用延时加载的模式,对象只有在被使用时才会被创建。
- ApplicationContext 这个是现版本Spring使用的工厂接口,继承于BeanFactory ,有着比BeanFactory 更丰富的功能,如国际化等,且重要的是,ApplicationContext 创建bean的时机与BeanFactory 不一样,ApplicationContext 在程序启动时就会加载配置文件,创建其中所有单例模式的对象(Spring默认创建的对象就是单例)。
- ClassPathXmlApplication 这是ApplicationContext 的一个实现,会加载类路径下的Spring配置文件。
- FileSystemXmlApplication 这是ApplicationContext 的另一个实现,会加载本地文件系统给定路径下的Spring配置文件。
二、SpringBean的三种实例化
Spring对于Bean的管理有两种方式:注解和xml配置文件,现在以xml方式演示在Spring中Bean的三种实例化方式。
1. 使用构造器实例化Bean
- Bean代码
public class Bean1 { public Bean1(){ System.out.println("通过无参构造器实例化Bean1"); } }
- Spring配置文件配置
<!-- 配置通过无参构造实例化Bean--> <bean id="bean1" class="com.spring.demo1.Bean1"/>
- 测试代码
public class test