IOC:反转控制
将创建对象的方式反转了,从我们自己创建反转给了程序(Spring)
DI : 依赖注入
实现IOC思想需要DI支持。
注入方式:
set方法注入
构造方式注入
字段注入
注入类型:
值类型注入 (8大基本数据类型)
引用类型注入 (将依赖对象注入)
BeanFactory接口:
Spring原始接口,针对原始接口的实现类功能较为单一
BeanFactory接口实现类的容器。特点是每次在获得对象的时候才会创建对象
ApplicationContext:
每次容器启动时就会创建容器中配置的所有对象,并提供更多功能
从类路径下加载配置文件:ClassPathXmlApplicationContext
从硬盘绝对路径下加载配置文件:FileSystemXmlApplicationContext
结论:web开发中使用applicationContext,在资源匮乏的环境可以使用BeanFactory
Bean元素:使用该元素描述需要spring容器管理的对象
class属性:被管理对象的完整类名
name属性:给被管理的对象起个名字,获得对象时根据该名称获得对象。
可以重复,可以使用特殊字符
id属性:与name属性一模一样
名称不可以重复,不能使用特殊字符。
结论: 尽量使用name属性。
三种对象的创建方式:
1.空参构造方式
2.静态工厂(了解)
3.实例工厂(了解)
scope属性:
singleton(默认值):单例对象,被标识为单例的对象在spring容器中只会存在一个实例
prototype:多例原型,被标识为多例的对象,每次再获得才会创建,每次创建都是新的对象
request:web环境下,对象与request的生命周期一致
session:web环境下,对象与session的生命周期一致