我们都知道Spring中有两个重要的知识点,一个是DI注入,一个是AOP切面。那么这两个到底有什么作用呢?
Spring中DI的作用:让相互协作的组件之间保持松耦合(实现面向接口编程)
Spring中AOP的作用:把遍布应用各处的功能分离出来形成可复用的组件
这两句话是我在Spring实战第四版书中看到的。接下来用一个简单的实例来说明一下(把书中的例子小改了一下):
package didemo;
/**
* 一个简单的任务接口
* @author Logan
* @date 2018年8月20日 下午1:28:53
*/
public interface Mission {
void start();
}
package didemo;
/**
* 一个简单的英雄接口,只有一个执行任务的方法
* @author Logan
* @date 2018年8月20日 下午1:29:28
*/
public interface Hero {
void executeMission();
}
现在我们想要一个英雄去执行一个任务,如果用传统的方式,是这样的:
package didemo;
/**
* 不使用Spring的DI注入的传统方式
* @author Logan
* @date 2018年8月20日 下午1:31:11
*/