Aop, aspect object programming 面向切面编程
用途: 让关注点代码与业务代码分离!
主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。
关注点
关注点,重复代码就叫做关注点;
切面
关注点形成的类,就叫切面(类)!
面向切面编程,就是指 对很多功能都有的重复的代码抽取,再在运行的时候网业务方法上动态植入“切面类代码”。
切入点
执行目标对象方法,动态植入切面代码。
可以通过切入点表达式,指定拦截哪些类的哪些方法; 给指定的类在运行的时候植入切面类代码。
模拟try-catch执行顺序
* try{
* @Before
* method.invoke(obj,args);
* @AfterReturning
* }catch(Exception e){
* @AfterThrowing
* }finally{
* @After
* }