spring aop 简单例子 配置文件形式

xiaoxiao2026-01-14  4

只供参考:无需评论。spring2.0 1,定义自己的业务类。 接口:

public interface Test {

  public void addMetgod();   

} 实现: public class Testimpl implements Test {

 public void addMetgod() {   System.out.println("---addMethod方法的实现-----");

 }

} 2,定义切面,也就是验证方法: 接口:

public interface MySecurityManager {    public void security();   

} 实现:

public class MySecurityManagerImpl implements MySecurityManager {

 public void security() {   System.out.println("-----调用security方法-------");  } }

3配置: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"     xmlns:tx="http://www.springframework.org/schema/tx"     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.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"     default-autowire="byName" default-lazy-init="true">

<aop:aspectj-autoproxy/>  <bean id = "mySecurityManager" class = "<包名>.impl.MySecurityManagerImpl" ></bean >   <aop:config>     <aop:aspect ref="mySecurityManager">       <aop:before pointcut-ref="needse" method="security"/>       <aop:pointcut id="needse" expression="execution(* "<包名>.Test.add*(..))"/>     </aop:aspect>   </aop:config>   <bean id = "test" class = ""<包名>.impl.Testimpl" ></bean >        </beans> 4,测试:

public class TestAop {

 private static Test test;  static {   ApplicationContext conn = new ClassPathXmlApplicationContext(     new String[] { "classpath:aop-applicationContext-aop.xml" });   test = (Test) conn.getBean("test");  }    public static void main(String[] args) {   test.addMetgod();  } }

 结果: -----调用security方法------- ---addMethod方法的实现----- end。。。

转载请注明原文地址: https://www.6miu.com/read-5042619.html

最新回复(0)