首页 > 学院 > 开发设计 > 正文

spring AOP 简单入门案例

2019-11-14 23:40:22
字体:
来源:转载
供稿:网友
sPRing AOP 简单入门案例

TestServiceinter.java

1 package com.frank.aop;2 3 public interface TestServiceinter {4     public void SayHello();5 6 }

TestServiceImp.java

 1 package com.frank.aop; 2  3 public class TestServiceImp implements TestServiceinter { 4  5     private String name; 6  7     public String getName() { 8         return name; 9     }10 11     public void setName(String name) {12         this.name = name;13     }14 15     @Override16     public void SayHello() {17         // TODO Auto-generated method stub18         System.out.println(name+"hello");19 20     }21 22 }

MyMethodBeforeAdvice.java

 1 package com.frank.aop; 2  3 import java.lang.reflect.Method; 4  5 import org.springframework.aop.MethodBeforeAdvice; 6  7 public class MyMethodBeforeAdvice implements MethodBeforeAdvice { 8  9     @Override10     public void before(Method method, Object[] args, Object target)11             throws Throwable {12         // TODO Auto-generated method stub13         System.out.println("记录日志中。。。。"+method.getName());14 15     }16 17 }

App1.java

 1 package com.frank.aop; 2  3 import org.springframework.context.applicationContext; 4 import org.springframework.context.support.ClassPathxmlApplicationContext; 5  6 public class App1 { 7  8     public static void main(String[] args) { 9         // TODO Auto-generated method stub10         ApplicationContext ac=new ClassPathXmlApplicationContext("com/frank/aop/beans.xml");11         TestServiceinter Ts=(TestServiceinter) ac.getBean("proxyFactoryBean");12         Ts.SayHello();13 14     }15 16 }

beans.xml

 

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" 4     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> 5     <!-- 配置前置通知 --> 6     <bean id="myMethodBeforeAdvice" class="com.frank.aop.MyMethodBeforeAdvice" /> 7     <!-- 配置被代理对象 --> 8     <bean id="testServiceImp" class="com.frank.aop.TestServiceImp"> 9         <property name="name" value="frank"></property>10     </bean>11     <!-- 配置代理对象 -->12     <bean id="proxyFactoryBean" class="org.springframework.aop.framework.ProxyFactoryBean">13         <!--代理接口集 -->14         <property name="proxyInterfaces">15             <list>16                 <value>com.frank.aop.TestServiceinter</value>17             </list>18         </property>19         <!-- 把通知织入到代理对象 -->20         <property name="interceptorNames">21             <value>myMethodBeforeAdvice</value>22         </property>23         <!-- 配置被代理对象 -->24         <property name="target" ref="testServiceImp">25         </property>26     </bean>27 28 29 </beans>

                                          


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表