spring AOP 简单的配置 示例小程序
2015-12-17 10:53
741 查看
首先看一下beans.xml配置:
这是日志类:
这样就可以在执行com.mxf.service.UserService内的任何方法前加入日志
下面看一下注解配置AOP:
XML配置:
要想注解AOP,必须先在beans.xml内加入<aop:aspectj-autoproxy/>这句话,否则不能进行注解配置。
下面看一下注解示例:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <context:annotation-config/> <context:component-scan base-package="com.mxf"></context:component-scan> <!-- 实例化Log日志类 --> <bean id="logInterceptor" class="com.mxf.log.Log"></bean> <!-- 配置切面 --> <aop:config> <!-- 声明一个全局的切面 可以加在aspect内 --> <aop:pointcut expression="execution(public * com.mxf.service.UserService.*())" id="servicePoincut"/> <!-- 切面类 --> <aop:aspect id="logaspect" ref="logInterceptor"> <!-- 执行切面的方法 和引用的切面 --> <aop:before method="before" pointcut-ref="servicePoincut"/> </aop:aspect> </aop:config> </beans>
这是日志类:
package com.mxf.log; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.stereotype.Component; //@Aspect //@Component public class Log { // @Before("execution(public * com.mxf.service.UserService.*())") public void before(){ System.out.println("Method start!"); } }
这样就可以在执行com.mxf.service.UserService内的任何方法前加入日志
下面看一下注解配置AOP:
XML配置:
要想注解AOP,必须先在beans.xml内加入<aop:aspectj-autoproxy/>这句话,否则不能进行注解配置。
下面看一下注解示例:
package com.mxf.log; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.stereotype.Component; @Aspect//声明一个切面 @Component//实例化日志类 public class Log { @Before("execution(public * com.mxf.service.UserService.*())")//在执行该方法之前执行下面的方法 public void before(){ System.out.println("Method start!"); } }
相关文章推荐
- Eclipse 代码规范 注释模板
- 将Eclipse工程导入Android Studio的两种方式
- Spring的jdbc事务管理,事务不会滚
- 【Java EE 学习 71 下】【数据采集系统第三天】【分析答案实体】【删除问题】【删除页面】【删除调查】【清除调查】【打开/关闭调查】
- java synchronized详解
- Java工程师成神之路~
- java平台概念
- myeclipse中,项目上有个叉报错,文件没有错误【解决方案】
- myeclipse怎么点击编辑区定位到项目所在的目录
- eclipse创建maven项目小例子
- myeclipse中,项目上有个叉报错,文件没有错误【解决方案】
- java中的集合链表
- ios、java之间的RSA加解密
- ubuntu在安装LDAP服务器,在windows客户端下查看,并使用java操作LDAP
- 20151217笔记:DOS命令运行带包的Java文件
- java实现html转pdf功能
- struts1和struts2的整合 [转]
- SpringSecurity初识
- Ehcache 整合Spring 使用页面、对象缓存
- springmvc ModelAndView类的使用