我在Spring bean中注释为@Resource
的字段遇到问题。我拥有的一切:Spring @Resource Handling
场,与setter方法,注释@Resource
@Resource
private URL someUrl;
public void setSomeUrl(URL someUrl) {
this.someUrl = someUrl;
}
的<env-entry>
标签在我的部署描述符(web.xml)
<env-entry>
<env-entry-name>someUrl</env-entry-name>
<env-entry-type>java.net.URL</env-entry-type>
<env-entry-value>http://somedomain.net/some/path</env-entry-value>
</env-entry>
应用程序无法启动了BeanCreationException
,我不期待,因为我不一定希望春天注入Spring管理的bean。我希望Spring能够处理@Resource
并检索JNDI资源。
这是Spring 2.5.6SEC03和bean本身被注释为@Service
用于自动装配到其他@Component
实例中。在这种情况下,Servlet容器是Tomcat 7,但最终会部署到Weblogic 10上,所以虽然我希望理想的解决方案可以同时使用,但Weblogic是必备的。
我在Spring 2.5中滥用了这个特性吗?一般来说?有一些我失踪了吗?我误解了JNDI?所有的帮助表示赞赏。谢谢。
太棒了,这完全工作!我还发现,您可以强制CommonAnnotationBeanPostProcessor通过为注解体中的“mappedName”生成一个值来执行JNDI查找。说了这么多,并且在完成这项工作之后,我了解到我们的标准企业部署过程将不支持多个部署描述符。我应该在所有部署中使用同一个。所以,这种方法是行不通的。 – 2012-03-30 19:37:41