Spring的特性:
1,轻量
2,控制反转
3,面向容器
4,面向切面
5,框架灵活
控制反转:
指一个对象依赖的其他对象将会在容器的初始化后主动将其依赖的对象传递给他,而不需要这个对象自己创建或者查找其依赖的对象。
依赖注入:
一个bean实例引用另一个的bean实例,spring容器会自动创建其依赖的bean实例,并注入。
- 依赖注入是控制反转的一种表现方式。
- 依赖查找也是控制反转的一种表现方式。
面向切面:
通过分离系统逻辑和和业务逻辑来提高系统内聚性,业务层只需要关注并实现和业务相关的代码逻辑而不需要关注系统功能。
Spring-Beans模块:
工厂模式实现对象的创建
Spring-Core模块:
核心功能,控制反转和依赖注入
Spring-Context模块
在Spring-Beans和Spring-Core基础上构建出来的,继承于Spring-Beans,添加了国际化和事件传播和透明创建上下文等功能。
ApplicationContext接口的实现类
ClassPathXMLApplicationContext 读取类路径下的配置文件
FileSystemXmlApplicationContext: 读取 绝对路径下的配置文件
AnnotationConfigApplicationContext: 纯注解模式使用创建容器
-
根据id获取对象,返回的是Object对象,需要进行强制转换
context.getBean(“account”); -
根据class获取对象,返回Account类型对象,不需要进行强制转换
context.getBean(Account.class); -
根据id 和 class获取对象,返回Account类型对象,不需要进行强制转换(需要满足两个条件)
context.getBean(“account”, Account.class);