Arm*_*man 8 java static-methods el taglib guice
我还是Guice的新手,之前没有使用任何DI框架.在阅读官方维基和许多其他文件后,我仍然无法完全绕过它.
在我的特定情况下,我想编写一个使用其他(待注入)类的EL taglib函数.由于所有taglib函数都必须声明为static,我不能只通过构造函数或setter @Inject我的依赖项.我想过使用http://code.google.com/p/google-guice/wiki/Injections#Static_Injections中描述的requestStaticInjection()方法但是我无法让它工作并且找不到任何好处教程.
在此先感谢您的帮助,
阿尔曼
con*_*dit 18
它没有比Guice文档更清晰,但这里是一个单元测试,它显示了如何使用静态注入的示例:
public class StaticInjectionExample {
static class SomeClass {}
static class TagLib{
@Inject
static SomeClass injected;
public static void taglibFunction(String foo) {
injected.something(foo);
}
}
static class TestModule extends AbstractModule {
@Override
protected void configure() {
requestStaticInjection(TabLib.class);
}
}
@Test
public void test() {
Injector injector = Guice.createInjector(new TestModule());
TagLib receiver = injector.getInstance(TagLib.class);
// Do something with receiver.injected
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15980 次 |
| 最近记录: |