Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将依赖项注入taglib类?_Java_Spring_Taglib - Fatal编程技术网

Java 将依赖项注入taglib类?

Java 将依赖项注入taglib类?,java,spring,taglib,Java,Spring,Taglib,我正在使用Spring3,希望将一些依赖项注入到作为taglib一部分的类中。我可以想象使用构造函数arg会有一些混乱,但我希望其他人有更好的想法。如果您决定从自定义标记访问服务或DAO,那么您需要从标记访问ApplicationContext,然后获取Bean ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(pageContext.getServletCont

我正在使用Spring3,希望将一些依赖项注入到作为taglib一部分的类中。我可以想象使用构造函数arg会有一些混乱,但我希望其他人有更好的想法。

如果您决定从自定义标记访问服务或DAO,那么您需要从标记访问ApplicationContext,然后获取Bean

ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(pageContext.getServletContext()); 
MyService myService = applicationContext.getBean(MyService.class);
myService.doSomething();

还有-这是通过为每个taglib类创建一个代理类来实现的,该类处理与Spring的交互,并在需要时使用Spring生成taglib的实例。

我的建议是“不要这样做”。为什么不呢?我希望我的标记从服务加载数据。请看下面的答案,但我发现另一个非常适合我的选项是将静态属性放在标记类上,并使用MethodInvokingFactoryBean将其注入。pageContext是TagSupport中的受保护属性