Spring里的Java基础知识——AOP,Spring未起之时

一说起AOP,大多数人想到的就是SpringAOP。但在Spring诞生之初,它早已存在。

严格地说, AOP是一种编程思想、编程范式,是对OOP的补充。利用AOP可以通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。说了这么多,看看在Spring未兴起之前,AOP是怎么实现的?

写死代码

当小明还是一个刚毕业离校、即将踏进编程领域工作的码农,在业务逻辑的前后加入前置和后置的非业务逻辑(如方法的执行时间)时,小明是这么写的

package com.qutopia.bixi.spring.aop;
/**
 * Greeting
 *
 * @author choaklin
 * @since 2016/5/27
 */
public interface Greeting {
    void sayHello(String name);
}