首先谈谈Spring是什么?Spring是一个轻量级的容器框架(没有侵入性),它用来管理对象之间的依赖关系(而不是对象本身来管理)。
1. Spring Ioc容器的关键点:
1) 必须将被管理的对象定义到spring配置文件中
2) 必须定义构造函数或setter方法,让Spring将对象注入进来
2. Spring配置文件可以改名,支持多配置文件,但是ID不能重名,读取配置文件时,可以传入数组,同时也支持xxx.*
3. 自定义属性编辑器:Spring配置文件中的字符串转换成相应的对象进行注入,Spring中已经有内置的属性编辑器,我们可以根据需求自己定义属性编辑器
4. 定义属性编辑器:
1) 继承PropertyEditorSupport类,复写setAsText()方法
2) 将属性编辑器注册到Spring中(属性编辑器以Map格式注册到Spring的CustomerEditorConfigurer类中)
5. 依赖对象的注入方式,可以采用:
1) ref属性 2)<ref>标签 3)内部<bean>来定义
6. 描述公共的注入定义:
1) 通过<bean>标签定义公共的属性,指定abstract为true
2) 具有相同属性的类在<bean>标签中指定其parent属性
7. Spring Bean的作用域:
1) scope取值为singleton:每次调用getBean的时候返回相同的实例
2) scope取值为prototype:每次调用getBean的时候返回不同的实例(可以避免线程安全性的问题)
8. 自动装配:(需要设置default-ByName或default-Type属性)
1) 根据名称自动装配:配置文件中的ID名称要和Bean当中的属性名称保持一致
2) 根据类型自动装配:建议使用此种方式
为了便于实施阶段的维护,不建议使用自动装配,但可以用于快速开发阶段
9. AOP常见术语:
1) 在程序纵向的方法中加入了一些不相关,非常独立的服务(比如:安全性检查),这类服务称之为横切性关注点
2) 将横切性关注点模块化的类称之为ASPECT(切面)
3) ASPECT中的实现方法称之为ADVICE,ADVICE有多种分类,常见的有BEFORE,AFTER,THROW等···
4) 将切面应用到目标对象的过程叫Weave(植入)
5) PointCut(切入点):ADVICE应用到的JoinPoint
6) JoinPoint(连接点):Spring只支持方法的连接点
10.Spring的AOP是使用代理的方式实现的