第三章 依赖注入" class="reference-link"> 第三章 依赖注入

    ActFramework通过注解识别需要注入的对象. 你可以通过以下三种标准方式申明需要注入的对象:

    小贴士 字段注入最为简明,不过对单元测试会造成一些麻烦

    1. public class Foo {
    2. @Inject
    3. public Foo(Bar bar) {
    4. this.bar = bar;
    5. }
    6. }
    1. 命令处理方法

    当框架检测到响应函数参数列表中某个参数类型有依赖注入绑定,框架自动使用依赖注入提供该参数值

    1. @GetAction("xyz")
    2. ...
    3. }

    在上面的方法参数中, ActionContextXyzDao 两个类都是有依赖注入绑定的, 因此 contextdao 两个参数会被依赖注入, 而 si 则因为 String 和 类没有依赖注入绑定而从请求参数中解析

    如果你以前使用过guice,和通常的Guice应用一样,你可以创建Module类来申明注入绑定规则:

    1. public class GreetingModule extends org.osgl.inject.Module {
    2. @Override
    3. protected void configure() {
    4. bind(GreetingService.class).to(GreetingServiceImpl.class);
    5. }

    小贴士 在ActFramework中你不必使用Module类来创建Injector对象实例。框架会自动寻找所有申明的Module类并在
    内部创建Injector实例