如何实现依赖注入

时间:2018-06-05 07:23:12

标签: java dependency-injection

我想问一下如何用我当前的应用层实现依赖注入模式。

我的应用层是ENDPOINT,SERVICE和DAO。那么问题是我如何实现服务的注入器到服务层的端点和注入器?

请注意,我不想使用任何框架,例如@Inject注释。

谢谢!

1 个答案:

答案 0 :(得分:1)

这样的事情可能就是你想要的:

public class Endpoint {
    private Service service;
    public Endpoint() { }
    public void setService(Service service){
        this.service = service;
    }

    public void execute() {
          // ...
    }
    // ...
}

public class Service {
    private DAO dao;
    public Service() { }
    public void setDAO(DAO dao){
        this.dao = dao;
    }
    //.... 
}

public class DAO {
    public DAO() {}
    //...
}

public class Main {
    public static void main(String[] args) {
        // create class instances
        Endpoint e = new Endpoint();
        Service s = new Service();
        DAO d = new DAO();
        // Inject dependencies
        e.setService(s);
        s.setDAO(d);
        // run
        e.execute();
    }
}