ioc操作




1.就是把对象的创建交给spring进行管理 (起初的调用方法需要new一个对象)
2.ioc操作两个部分:
(1)ioc的配置文件方式
(2)ioc的注解方式
ioc底层原理
1.xml配置文件
2.dom4j解决xml
3.工厂设计模式
4.反射
spring的bean管理
Bean实例化的方式:
-
在spring里面通过配置文件创建对象。
2.bean实例化三种方式实现
第一种 使用类的无参数构造创建(重点 一般使用这个)
如果
类里面没有无参数的构造的话,出现异常
第二种
使用静态工厂创建
创建静态的方法,返回类对象
第三种
使用实例工厂创建
创建(普通)不是静态的方法,返回类对象
bean标签常用属性
id属性
起名称
class属性
创建对象所在类的全路径
name属性
起名称,功能同id属性 可以包含特殊符号
scope属性
bean的作用范围
主要两种
singleton
默认值,单例 只有一个对象 创建多个对象其实也是同一个对象
prototype
多例
属性的注入
-创建对象的时候,向类里面属性里面设置值
属性注入的方式介绍(三种方式)
在spring框架里面仅支持1.2.方法。
方法一:属性的set方法(最多使用)
方法二
:
带参数的构造方法
方法三
:
使用接口注入 (较少用)
1.使用set方法注入
2.使用有参数构造注入属性
注入对象类型属性(重点)
3.配置注入文件
(1)配置service和dao对象
(2)在service中配置注入dao对象(注入对象要写ref引用属性)
注意:ref属性值和上面的id值相对应
注入p名称空间
注入复杂类型属性值(利用set方法注入)
IOC和DI的区别
ioc:控制反转,把对象的创建交给spring
DI:依赖注入,向类里面的属性中设置值
关系:依赖注入不能单独存在,需要在ioc的基础之上完成
spring整合web项目原理
1.加载spring核心配置文件
new对象,功能可以实现,效率很低
2.实现思想:把记载配置文件和创建对象过程,在服务器启动时完成
3.实现原理
(1)ServletContext对象
(2)监听器
具体使用:
- 在服务器启动时,为每个项目创建一个ServletContext对象
- 在ServletContext对象创建时,使用监听器可以可以监听具体到ServletContext对象在什么时候创建
- 使用监听器监 听到ServletContext对象创建时,
- 加载spring配置文件,把配置文件配置对象创建
- 把创建出来的对象放到ServletContext域对象里面(setAttribute方法)
- 获取对象时,到ServletContext域得到(getAttribute方法)