1 Spring框架概述
1)Spring是轻量级的开元的J2EE框架
2)可以解决企业应用开发的复杂性
3)Spring有两个核心部分:IOC和Aop
(1)IOC:控制反转,把创建对象过程交给Spring管理
(2)Aop:面向切面,不修改源代码进行功能增强
4)Spring特点
(1)方便解耦,简化开发
(2)Aop功能支持
(3)方便程序测试
(4)方便集成各种框架
(5)方便进行事物操作
(6)降低API开发难度
2 IOC容器
2.1 IOC概念与原理
(1)控制反转,把对象创作和对象之间的调用过程,交给Spring管理
(2)使用IOC的目的:为了降低耦合度
2.1.1 IOC底层原理
(1)xml解析、工厂模式、反射
// IOC过程
// 第一步配置文件,配置创建的对象
<bean id="user" class="spring5demo.User"></bean>
第二步,有service类和dao类,创建工厂
class UserFactory{
public static UserDao getDao(){
String classValue =class属性值;//1 xml解析
Class clazz= Class.forName(classValue); //2 通过反射创建文件
return class.newInstance();
}
}
2.1.2 IOC接口
1)IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
2)Spring提供IOC容器实现两种方式:(两个接口)
(1)BeanFactory:IOC容器基本实现,是Spring内部使用的接口,不提供开发人员使用
- 加载配置文件时候不会创建对象,在获取对象才去创建对象
(2)ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用。
- 加载配置文件时候就会把在配置文件对象进行创建
2.1.3 ApplicationContext 接口实现类
2.2 IOC操作Bean管理
2.2.1 Bean管理指的是:
1)Spring创建对象
2)Spring注入属性
2.2.2 Bean管理操作:
(1)基于xml配置文件方式实现
-
基于xml方式创建对象
(1) 在Spring配置文件中,使用bean标签,标签立面添加对应属性,就可以实现对象创建
(2)Bean属性:
id属性:唯一标识
class属性:类的全路径(包类路径) -
基于xml方式注入属性
DI:依赖注入,就是注入属性
第一种注入方式:使用set方法
第二种注入方式:使用有参构造方法注入
2)基于注解方式实现