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

只供参考:无需评论。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。。。

你可能感兴趣的:(spring aop 简单例子 配置文件形式)