Guice – 使用静态辅助方法将依赖项注入到类中
我还是Guice的新手,之前没有使用任何DI框架。 在阅读官方维基和许多其他文件后,我仍然无法完全绕过它。
在我的特定情况下,我想编写一个使用其他(待注入)类的EL taglib函数。 因为所有taglib函数都必须声明为static,所以我不能只通过构造函数或setter @Inject我的依赖项。 我想过使用http://code.google.com/p/google-guice/wiki/Injections#Static_Injections中描述的requestStaticInjection()方法但是我无法让它工作并且找不到任何好处教程。
在此先感谢您的帮助,
阿尔曼
它没有比Guice文档更清晰,但这里是一个unit testing,它显示了如何使用静态注入的示例:
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 } }
- Java EL中的动态代理
- EL表达式不会在Tomcat 5.5中执行,而是在tomcat 6.0.20中运行
- 将struts2从2.3.16更新到2.3.32(修复S2-045)后,JSP文件无法解析某些对象的字段
- 在JSF / JSP EL和Javascript中连接字符串
- JSTL消息:不知道如何使用forEach迭代提供的“items”
- 无法通过EL传递参数到方法 – javax.el.MethodNotFoundException
- 使用Spring MVC在JSP页面上显示未解析的EL表达式列表
- 如何在JSP的表达式语言中加入“新行”?
- 非JSP(独立)上下文中的JSTL / JSP EL(表达式语言)