一、搭建Spring开发环境:
- 下载依赖jar包,然后引入到项目中
- 编写Spring配置文件
- 编写测试代码通过Spring进行属性注入
二、Spring两大核心技术:1.控制反转(IOC)和依赖注入(DI) 2.面向切面编程(AOP)
控制反转:创建对象的控制权转移,是一种程序的设计思想
依赖注入:将依赖的对象注入到需要的类中
1.IOC 构造器注入。
【1】创建一个自定义的有参构造函数,务必自行添加无参的构造函数。
【2】constructor-arg代表构造函数的一个参数。
【3】参数的属性默认就是标签的先后顺序。可以通过index属性(从0开始)来指定顺序。
2.AOP (各种增强类型)
Before 前置增强,在目标方法前织入增强处理
AfterReturning 后置增强,在目标方法正常执行(不出现异常)后织入增强处理
AfterThrowing 异常增强,在目标方法抛出异常后织入增强处理
After 最终增强,不论方法是否抛出异常,都会在目标方法最后织入增强处理
Around 环绕增强,在目标方法的前后都可以织入增强处理,可以控制目标方法是否执行
三、使用注解实现IOC和AOP
IOC注解实现
1.在类上使用注解,实现组件的定义
@component:实现Bean组件的定义 。
默认的id为 类名首字母小写<bean class="com.bean.User">
@repository :用于标注DAO类
@service :用于标注业务类
@controller :用于标注控制器类
2.在属性上使用注解,实现属性的注入。
【1】@Autowired 是默认按照类型进行注入,如果在spring中有多个相同的数据类型会报错。
【2】@Resource(name="paperA4") 是默认按照属性的名称进行自动注入,也可以指定bean的id。
3.在spring的主配置文件中,指明要扫描的基本包
<context:component-scan base-package="com"/>
AOP实现注解
1.在spring配置文件中启用注解框架
<aop:aspectj-autoproxy/>
2.在增强的类名上定义切面:一定要把这个增强类注册到spring中
.
AOP相关术语:
Aspect(切面),Advice(增强处理),Pointcut(切入点),Join Point(连接点),Target Object(目标对象),AOP proxy(AOP 代理),Weaving(织入)