AOP注解配置
2016-01-23 22:41
375 查看
1.--------AOP注解配置----------
(1)在spring配置文件中启用AOP注解
<aop:aspectj-autoproxy/>
(2)编写切面组件,使用以下注解定义切入点,通知等
@Aspect : 将当前类指定为切面组件
@Pointcut : 定义切入点
@Around("切入点引用")
@Before("切入点引用")
@After("切入点引用")
@AfterReturning(pointcut="切入点",returning="参数名")
@AfterThrowing(pointcut="切入点",throwing="参数名")
2.--------切入点定义-------------
(1) execution表达式 : 匹配方法的连接点.
execution (modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern)
throws-pattern?)
(2) bean表达式 : 匹配容器中bean对象的id或name属性值
bean (idOrNameOfBean)
(3) within表达式: 匹配某一个或某一批特定类型
within(包名.类型)
示例1:在com.xyz.service.DeptService接口中的任意连接点
within(com.xyz.service.DeptService)
示例2:在service包中的任意连接点
within(com.xyz.service.*)
示例3:在service包或其子包中的任意连接点
within(com.xyz.service..*)
(4) this和target : 匹配某一个类型实例的任意连接点.与within区别在于不允许使用通配符
this(代理对象类型),target(目标对象类型)
示例1 : 实现了AccountService接口的代理对象的任意连接点
this (com.xyz.service.AccountService)
示例2 : 实现AccountService接口的目标对象的任意连接点
target (com.xyz.service.AccountService)
(5) args表达式 : 匹配方法参数类型的连接点
args (参数类型)
示例1 : 任何一个只接受一个参数,
并且运行时所传入的参数是Serializable 接口的连接点
args (java.io.Serializable)
(6)以上表达式可以使用运算符组合
||,&&,!,and,or,not
3.-----------Spring框架作用--------------
Spring框架提供了一套完整的企业级解决方案.基于该框架可以
整合现有流行的Struts,Hibernate等框架.可以降低各层组件之间的依赖性.
4.----------Spring框架对JDBC的支持--------
(1)引入数据库驱动和dbcp连接池的jar包.
commons-dbcp.jar,commons-pool.jar,commons-collections.jar,mysql-connector-java-5.1.6-bin.jar
(2)在spring配置文件中添加dataSource的定义
(3)编写DAO组件,使用JdbcTemplate工具类
(4)在spring配置文件中添加dao定义,注入dataSource对象
-------------练习---------------
Spring整合JDBC实现对Dept表增删改查
(1)在spring配置文件中启用AOP注解
<aop:aspectj-autoproxy/>
(2)编写切面组件,使用以下注解定义切入点,通知等
@Aspect : 将当前类指定为切面组件
@Pointcut : 定义切入点
@Around("切入点引用")
@Before("切入点引用")
@After("切入点引用")
@AfterReturning(pointcut="切入点",returning="参数名")
@AfterThrowing(pointcut="切入点",throwing="参数名")
2.--------切入点定义-------------
(1) execution表达式 : 匹配方法的连接点.
execution (modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern)
throws-pattern?)
(2) bean表达式 : 匹配容器中bean对象的id或name属性值
bean (idOrNameOfBean)
(3) within表达式: 匹配某一个或某一批特定类型
within(包名.类型)
示例1:在com.xyz.service.DeptService接口中的任意连接点
within(com.xyz.service.DeptService)
示例2:在service包中的任意连接点
within(com.xyz.service.*)
示例3:在service包或其子包中的任意连接点
within(com.xyz.service..*)
(4) this和target : 匹配某一个类型实例的任意连接点.与within区别在于不允许使用通配符
this(代理对象类型),target(目标对象类型)
示例1 : 实现了AccountService接口的代理对象的任意连接点
this (com.xyz.service.AccountService)
示例2 : 实现AccountService接口的目标对象的任意连接点
target (com.xyz.service.AccountService)
(5) args表达式 : 匹配方法参数类型的连接点
args (参数类型)
示例1 : 任何一个只接受一个参数,
并且运行时所传入的参数是Serializable 接口的连接点
args (java.io.Serializable)
(6)以上表达式可以使用运算符组合
||,&&,!,and,or,not
3.-----------Spring框架作用--------------
Spring框架提供了一套完整的企业级解决方案.基于该框架可以
整合现有流行的Struts,Hibernate等框架.可以降低各层组件之间的依赖性.
4.----------Spring框架对JDBC的支持--------
(1)引入数据库驱动和dbcp连接池的jar包.
commons-dbcp.jar,commons-pool.jar,commons-collections.jar,mysql-connector-java-5.1.6-bin.jar
(2)在spring配置文件中添加dataSource的定义
(3)编写DAO组件,使用JdbcTemplate工具类
(4)在spring配置文件中添加dao定义,注入dataSource对象
-------------练习---------------
Spring整合JDBC实现对Dept表增删改查
相关文章推荐
- docker share
- OpenStack设计与实现(二)Libvirt简介与实现原理
- linux平台从源码安装git
- linux中的内核模块以及模块操作工具modprobe|insmod|rmmod|depmod|lsmod|modinfo等学习小结
- shell脚本通过expect脚本实现自动输入密码
- CentOS下modelsim 10.2c install & crack
- linux一些名词
- 推荐一个免费的论文查重网站
- hadoop-1.x的运行实例
- CentOS6.5上安装MySQL5.6
- arch linux安装玩fcitx后无法激活解决
- linux下samba共享服务器搭建
- linux下goagent证书问题终极解决方案!
- 5.7 copy--简单拷贝和深度拷贝对象
- 5.7 copy--简单拷贝和深度拷贝对象
- APACHE服务器500错误解决方法
- nginx服务器中的安全配置
- linux下向yeelink添加数据点
- Linux CentOS 7.0 下 rar unrar的安装
- Linux下使用codeblocks交叉编译ARM-LINUX-GCC程序