Boo*_*oon 5 java dependency-injection jenkins
我正在开发一个(现有的)Jenkins 插件,并且想使用依赖注入。不幸的是,Jenkins 开发的 DI 记录很少。据我所知,Jenkins 使用 Google 的 Guice 框架进行 DI。有这个 Wiki 页面,但我对此有点困惑:在我检查过的现有 Jenkins 插件中,我没有看到对 Guice 的此类调用,但我确实看到了注释的大量用途@Inject
。此外,令我困扰的是,我需要在每个Guice.createInjector(new MyModule()).injectMembers(this);
需要依赖注入的类中调用,看起来我在乱扔代码。
如何在 Jenkins 中进行依赖注入?例如,我有一个简单的接口“MyInterface”和一个实现类MyInterfaceImpl
。在第三节课中,我有以下内容:
class MyClass {
private MyInterface obj;
@Inject
public MyClass(MyInterface obj) {
this.obj = obj;
}
...
}
Run Code Online (Sandbox Code Playgroud)
Jenkins 中是否有一种机制可以自动构造此类对象,或者我是否必须添加 Guice 注入器代码?
信息不完整的 wiki 是由Dan Alvizux作为 SO 问题的一部分编写的。它并没有反映 Jenkins 实际如何进行 DI。
为 DI 注册类的正确方法似乎是像平常一样对其进行注释@Extension
和使用。@Inject
JavaDoc 中讨论了一些其他选项。
归档时间: |
|
查看次数: |
928 次 |
最近记录: |