Spring的AOP配置(基于xml)
2014-07-24 10:53
405 查看
一、导入相关jar包:spring-aop.jar , aspectjrt.jar ,aspectjweaver.jar,cglib-nodep-2.1_3.jar
二、创建相关类
业务类 Baction.java
aop类 Log.java
测试类 Test.java
---------------------------------------业务类 Baction.java----------------------------------------------
/**业务类
* @author yangxiaoyong
* @version 创建时间:2014年7月24日 上午10:43:51
* 参考:www.sql8.net
*/
public class Baction {
public void add(String p1,String p2){
System.out.println("------------------业务类----------------");
System.out.println("------------------添加用户----------------");
}
}
----------------------------aop类 Log.java-----------------------------------------
import org.aspectj.lang.JoinPoint;
/**日志类,aop切入类
* @author yangxiaoyong
* @version 创建时间:2014年7月24日 上午10:44:02
* 参考:www.sql8.net
*/
public class Log {
public void checkValidity(){
System.out.println("------------------验证合法性----------------");
}
public void addLog(JoinPoint j){
System.out.println("------------------添加日志----------------");
System.out.println("========方法名=="+j.getSignature().getName());//这个是获得方法名
System.out.println("------------------输入切入方法的相关参数----------------");
Object obj[] = j.getArgs();
for(Object o :obj){
System.out.println(o);
}
}
}
------------------------测试类 Test.java-----------------------------
import org.springframework.context.support.FileSystemXmlApplicationContext;
/**测试类
* @author yangxiaoyong
* @version 创建时间:2014年7月24日 上午10:44:59
* 参考:www.sql8.net
*/
public class Test {
public static void main(String[] args) {
FileSystemXmlApplicationContext factory=new FileSystemXmlApplicationContext("/WebRoot/WEB-INF/config/applicationContext-aop.xml");
Baction c=(Baction) factory.getBean("baction");
c.add("sql8.net","sql8.net");
}
}
三、applicationContext-aop.xml
<?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"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"
default-autowire="autodetect">
<bean id="baction" class="com.zjht.edw.test.aop.Baction"/>
<bean id="log" class="com.zjht.edw.test.aop.Log"/>
<aop:config>
<aop:aspect id="myAop" ref="log">
<aop:pointcut id="target" expression="execution(* com.zjht.edw.test.aop.Baction.add(..))"/>
<aop:before method="checkValidity" pointcut-ref="target"/>
<aop:after method="addLog" pointcut-ref="target"/>
</aop:aspect>
</aop:config>
</beans>
二、创建相关类
业务类 Baction.java
aop类 Log.java
测试类 Test.java
---------------------------------------业务类 Baction.java----------------------------------------------
/**业务类
* @author yangxiaoyong
* @version 创建时间:2014年7月24日 上午10:43:51
* 参考:www.sql8.net
*/
public class Baction {
public void add(String p1,String p2){
System.out.println("------------------业务类----------------");
System.out.println("------------------添加用户----------------");
}
}
----------------------------aop类 Log.java-----------------------------------------
import org.aspectj.lang.JoinPoint;
/**日志类,aop切入类
* @author yangxiaoyong
* @version 创建时间:2014年7月24日 上午10:44:02
* 参考:www.sql8.net
*/
public class Log {
public void checkValidity(){
System.out.println("------------------验证合法性----------------");
}
public void addLog(JoinPoint j){
System.out.println("------------------添加日志----------------");
System.out.println("========方法名=="+j.getSignature().getName());//这个是获得方法名
System.out.println("------------------输入切入方法的相关参数----------------");
Object obj[] = j.getArgs();
for(Object o :obj){
System.out.println(o);
}
}
}
------------------------测试类 Test.java-----------------------------
import org.springframework.context.support.FileSystemXmlApplicationContext;
/**测试类
* @author yangxiaoyong
* @version 创建时间:2014年7月24日 上午10:44:59
* 参考:www.sql8.net
*/
public class Test {
public static void main(String[] args) {
FileSystemXmlApplicationContext factory=new FileSystemXmlApplicationContext("/WebRoot/WEB-INF/config/applicationContext-aop.xml");
Baction c=(Baction) factory.getBean("baction");
c.add("sql8.net","sql8.net");
}
}
三、applicationContext-aop.xml
<?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"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"
default-autowire="autodetect">
<bean id="baction" class="com.zjht.edw.test.aop.Baction"/>
<bean id="log" class="com.zjht.edw.test.aop.Log"/>
<aop:config>
<aop:aspect id="myAop" ref="log">
<aop:pointcut id="target" expression="execution(* com.zjht.edw.test.aop.Baction.add(..))"/>
<aop:before method="checkValidity" pointcut-ref="target"/>
<aop:after method="addLog" pointcut-ref="target"/>
</aop:aspect>
</aop:config>
</beans>
相关文章推荐
- 基于xml配置的spring aop 的实现日志 和为通知传递参数
- Spring中的AOP(六)——基于XML配置文件方式的AOP
- Spring AOP - 基于XML配置文件
- 一步一步深入spring(6)--使用基于XML配置的spring实现的AOP
- Spring基于XML配置AOP
- Spring -- 基于XML的AOP通知配置
- spring aop的使用(注解方式以及基于xml配置方式)
- spring aop的使用(注解方式以及基于xml配置方式)
- Spring基于xml配置bean AOP
- Spring aop 简单示例——基于XML配置和基于注解配置
- 8.4.6: Spring的AOP---基于XML配置文件的管理方式
- Spring中AOP基于XML的两种配置方法
- Spring 基于xml配置方式的AOP
- 基于xml配置的Spring AOP切面的几点总结,以及简单的例子
- Spring 基于XML配置的AOP入门案例
- spring aop 基于xml配置版
- spring添加AOP切面-基于XML配置
- spring之aop编程——基于注解、xml配置文件方式
- 8 -- 深入使用Spring -- 4...6 AOP代理:基于注解的XML配置文件的管理方式
- spring学习总结(十):基于 XML 的配置AOP