4.6 Aop 工具

Aop 工具类可以创建对象并且对创建的对象进行依赖注入,例如:

  1. Service service = Aop.get(Service.class);

以上代码会创建 Service 对象,如果 Service 中使用了 @Before 配置过拦截器,那么会生效,如果 Service 中的属性使用了 @Inject,则会被注入依赖对象。

Aop.inject(…) 方法相对于 Aop.get(…) 方法少一个对象创建功能。

此外,Aop 工具类还可以添加映射:

  1. Aop.addMapping(Service.class, MyService.class);

通过上面的映射,下面的代码将会为 Serivce 创建 MyService 对象,而非 Service 对象:

  1. Aop.get(Service.class); // 这里获取到的是 MyService 对象
  2.  
  3. @Inject
  4. Service service; // 这里被注入的是 MyService 对象

Aop.addMapping(…) 的主要用途是为接口、抽象类指定被注入的具体实现类。

< 4.5 Inject 依赖注入

4.7 Routes级别拦截器 >