Spring 的工厂类详解

Spring 的工厂类
BeanFactory: 老版本的工厂类,在调用getBean()方法时,才会生成类的实例。
ApplicationContext: 在加载配置文件的时候,就会将 Spring 管理的类都实例化。有两个实现类:
ClassPathXmlApplicationContext: 加载类路径下的配置文件
FileSystemXmlApplicationContext: 加载磁盘下的配置文件

bean标签配置
id: 唯一约束,不能出现特殊字符
name: 理论上可以重复,但是开发中最好不要。可以出现特殊字符

生命周期:

init-method: bean被初始化的时候执行的方法
destroy-method: bean被销毁的时候执行的方法

作用范围:

scope: bean的作用范围,有如下几种,常用的是前两种
singleton: 默认使用单例模式创建
prototype: 多例
request: 在web项目中,spring 创建类后,将其存入到 request 范围中
session: 在web项目中,spring 创建类后,将其存入到 session 范围中
globalsession: 在web项目中,必须用在 porlet 环境

属性注入设置

构造方法方式的属性注入: Car 类在构造方法中有两个属性,分别为 name 和 price。

set 方法属性注入: Employee 类在有两个 set 方法,分别设置普通类型的 name 和引用类型的 Car (使用 ref 指向引用类型的 id 或 name)。

P名称空间的属性注入: 首先需要引入p名称空间:

<beans xmlns=“http://www.springframework.org/schema/beans
//引入p名称空间
xmlns:p=“http://www.springframework.org/schema/p
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=“employee” class=“demo.Employee” p:name=“xiaoming” p:car-ref:“car”>

SpEL(Spring Expression Language)属性注入(Spring 3.x以上版本)

集合类型属性注入:

qirui baoma benchi

多模块开发配置
在加载配置文件的时候,加载多个配置文件
在一个配置文件中引入多个配置文件,通过实现
添加微信,领取资料[来看我] sxt15513841139
回复qjhSpring 的工厂类详解