Java中的AOP技术示例
Java中的AOP技术源于代理思想
是多实现的巧妙应用
A为接口
B,C为A的实现
则B,C将会同时继承A接口中的全部方法,并且可以拥有完全相同的方法,在重写的同时,可以将后实现的类中的方法进行增强,在未来的逻辑修改中避免不断修改源代码中的逻辑,造成错误或耦合。
A接口
public interface Services { public void do01(); public void do02();}
A接口的实现B
public class ServicesImpl implements Services{ @Override public void do01() { System.out.println("业务方法第1流程执行中.........."); } @Override public void do02() { System.out.println("业务方法第2流程执行中.........."); }}
A接口的实现C对实现B进行了修改和增强
import java.util.Date;public class ServiceProxy implements Services { Services servicesTarget = new ServicesImpl(); @Override public void do01() { System.out.println("业务方法1开始执行...... 执行时间:"+new Date()); servicesTarget.do01(); } @Override public void do02() { System.out.println("业务方法2开始执行...... 执行时间:"+new Date()); servicesTarget.do02(); }}
Test
public class AppTest { @Test public void test(){ ServiceProxy serviceProxy = new ServiceProxy(); serviceProxy.do01();serviceProxy.do02(); }}
此时可以将C作为B的代理对象进行切面的介入,又避免了对B的修改过程中对于原有逻辑的入侵和更改。