首页 > 代码库 > Spring Aop总结

Spring Aop总结


一.Spring介绍
Spring它是一个一站式的分层轻量级框架
1.Spring体系结构
1.core container
a) beans与core他们提供sping框架最基本的功能,它包含ioc于di
b)context 上下文对象,基于beans与cores
c)spel它是sping提供的一个表达式语言
2.Data access/integration
# 二.IOC与DI (重点掌握)★★★★★
ioc:inversion of Controller 控制反转 把对象的创建的权利交给了spring容器来管理
IOC是原来由我们自己实例化的对象交给spring容器
di: 依赖注入 spring在创建bean 对象是,动态的将属性注入到bean对象中
# 4.初始化方式: 三种(★★★无参的构造器,静态工厂,实例工厂)
5.BeanFactory和ApplicationContext接口的区别?
#6.bean的作用域(重点掌握)★★★★ scope:singleton prptotype
singleton : 单例 代表在 spring ioc容器中只有一个Bean实例(默认的scope)
prototype :多例每次从spring容器获取时,都会返回一个新的实例
7.生命周期,自定义初始化和销毁操作
三,Bean获取与实例化
1.注入方式:构造器注入和setter方法注入
构造器注入: <construct-arg index="参数的所有" type="参数类型" value=http://www.mamicode.com/“赋值”
# ★★★★★setter: <property name="属性名称" value="http://www.mamicode.com/赋值" ref="引用其它的bean的id(name)">
集合: list,map,set,properties
2. c和p名称空间: c是简化了构造器 p:setter方法简化
3. spel :它可以提供在程序运行时构造复杂表达式来完成对象属性存储及方法调用等
# ★★★★★4. bean @component @repository 持久层 @service 业务层 @controller控制层
# ★★★★★5. 属性注解: 简化类型 和引用类型
@value("赋值")
根据类型 : @autowired
根据名称:@autowired+@qualifier(‘名称‘) @Resource(name="名称")
开启注解:<context:component-scan-package="">
其他注解: @scope("singleton") @postConstruct @perDestroy
6.集成 junit
1)jar包
2)@runwith() @contextConfiguration
# ★★★7,web中集成spring框架
1)web包
2)ContextLicaderListener
3)指定配置文件的路径 contextConfigLication

 

# -------------------day02-----Spring AOP--------------- #
AOP(Aspect切面 Oriented面向 Programming编程) 面向切面编程

 

 

1.aop简介(日志记录,性能统计,安全控制,事物处理,异常处理)
#2.aop相关术语★★★★★
目标对象(target):指的是需要被增强的对象
连接点(join point):目标对象中的方法
切入点(pointcut):表示一组 joint point 通过连接点判断要具体拦截的方法
通知(advice) : 切入点中做的增强
切面(aspect) : 切入点+通知
织入(weaving) : 目标对象产生代理的过程
代理对象 : 目标对象增强后产生的做增强功能的代理类
#3.AOP底层实现?★★★
AOP分为静态AOP和动态AOP
Spring的AOP为动态AOP,实现的技术为: JDK提供的动态代理技术 和 CGLIB(动态字节码增强技术)
4.jdk动态代理和cglib动态代理
5.Spring的传统aop编程
五种通知: 前置通知 ,后置通知, 环绕通知, 异常通知, 引介通知
导包 : aop与aop联盟
<import resource=""/>
# 基于aspectJ切点传统开发★★★★

#6.切点表达式写法★★★★★
7.Spring整合aspectj框架实现的aop 通知类型?
#8.基于xml配置实现, 参数 ★★★★
增强的类需要实现其他接口吗?
<aop:config>
<aop:aspect tef="?">
<aop:pointcut expression="execution(* *.del(..))" id="delProintCut"/>
<>

JoinPoint参数?
代理方式的选择: proxy-target-class设置为?

关于代理方式选择
在spring的aop中,

 

Spring Aop总结