bean实例化的三种方式
- 主要使用第一种,其他两种了解即可
- ==使用类的无参数的构造函数==
- 类内部有个无参数的构造函数
- 配置文件:
- 代码:
- 类内部有个无参数的构造函数
- 使用静态工厂创建
- 静态类:
- 配置文件:
- 代码:
- 静态类:
- 使用实例工厂创建
- 实例工厂类:
- 配置文件:
- 代码:
- 实例工厂类:
bean标签常用的属性
- id属性:起名称,id属性名是任意命名的
- id属性高值不能包含特殊符号
- 根据id得到配置 的对象
- class属性:创建对象所在类的全路径
- name属性:功能和id属性是一样的,id属性不能包含特殊符号,但是在name属性值里可以包含特殊符号
- scope属性
- singleton:默认值,单例对象,多次获取的是同一个对象
- 配置文件bean标签的属性scope
- 测试结果:
- 配置文件bean标签的属性scope
- prototype:多实例对象
- 配置文件中bean标签的属性scope的属性配置
- 测试结果:
- 配置文件中bean标签的属性scope的属性配置
- request:创建对象吧 对象放到request域里面
- Session:创建对象吧对象放到Session域里面
- globalSession:创建对象吧对象放到globalSession里面
- 比如将百度登录了,同时百度贴吧也登陆了
- singleton:默认值,单例对象,多次获取的是同一个对象
属性注入介绍
- 属性注入:创建对象的时候,向类里面的属性设置值
- 属性注入的三种方式:
- 使用set方法注入
- 使用有参的构造函数注入
- 使用接口注入
- 在spring框架中只是支持前两种方式
- 有参的构造 函数注入
- 类中有有参数的构造方法
- 配置文件中,使用构造函数注入方式
- 类中有有参数的构造方法
- ==set方式注入==
- 使用类中的set方法注入属性
- 配置文件中,配置 使用set方式注入
- 使用类中的set方法注入属性
- 有参的构造 函数注入
注入对象属性类型
- 类的书写:
- 配置文件配置
- 测试代码:
p名称空间注入
- 配置文件
- 测试代码:
复杂类型属性注入
- 配置复杂类型属性:
- 测试代码:
IOC和DI区别
- IOC:控制反转,把对象创建交给spring进行配置
- DI:依赖注入,向类里面的属性中设置值
- 关系:DI不能单独存在,需要在IOC的基础之上完成操作