Spring 入门学习(二)之 三种实例方式

一、DI(依赖注入)

(依赖)Dependency :一个对象需要使用另一个对象

(注入)Injection:通过setter方法进行另一个对象实例设置

区别:没有用spring之前  接口=实现类,现在 接口 + setter方法

Spring 入门学习(二)之 三种实例方式

配置文件

Spring 入门学习(二)之 三种实例方式

二、Spring API

 2.1 BeanFactory:这是一个工厂,用于生成任意bean,采用延迟加载,第一次getBean时才会初始化Bean

 2.2 ApplicationContext:是BeanFactory的子接口,功能强大,(国际化处理、时间传递、Bean自动装配、各种不同应用的Context实现),当配置文件被加载,就进行对象实例化

 2.3 ClassPathXmlApplicationContext:用于加载classpath(类路径、src)下的xml。加载xml运行时位置--》

   /WEB-INF/classes/...xml

 2.4 FileSystemXmlApplicationContext:用于加载指定盘符下的xml,加载xml运行时位置--》

  /WEB-INF/classes/...xml

2.5 通过javaweb ServletContext.getRealPath() 获得具体盘符

三、装配Bean 基于XML

 3.1 实例方式

  3中bean实例化方法:默认构造,静态工厂,实例工厂

 3.2 默认构造

  <bean id= "" class=""/> 必须提供默认构造

 3.3 静态工厂

  常用于spring整合其他框架(工具)

  静态工厂:用于生成实例对象,所有的方法必须是static

  Spring 入门学习(二)之 三种实例方式

配置文件

Spring 入门学习(二)之 三种实例方式

测试

Spring 入门学习(二)之 三种实例方式

3.4 实例工厂

 实例工厂:必须先有工厂实例对象,通过实例对象创建对象,提供所有的方法都是”非静态”的

 Spring 入门学习(二)之 三种实例方式

配置文件

 Spring 入门学习(二)之 三种实例方式

测试

 Spring 入门学习(二)之 三种实例方式