这是Web应用程序的上下文。我的Impl类有JAX-WS
个注释,@Autowired
注释不起作用。
检索Autowired对象时,我得到空指针异常。
找到解决方案,两者都有效:
SpringBeanAutowiringSupport
并保持@Autowired
注释不变。WebApplicationContextUtils
获取加载bean的WebapplicationContext
。来自此上下文的getBean()为我提供了所需的bean。现在,SpringBeanAutowiringSupport
类的文档在NOTE中说明
" 如果有一种明确的方式来访问ServletContext,那么更喜欢使用这个类。 WebApplicationContextUtils类允许基于ServletContext轻松访问Spring根Web应用程序上下文。"
这是什么意思?在我的Web应用程序中,我没有使用任何servlet。我的Web应用程序也不仅仅是JAX-WS
应用程序。它是一个包含SOAP/REST webservices
和EJBs
的网络应用程序。
更喜欢哪种方法?为什么?请帮忙。
答案 0 :(得分:0)
扩展SpringBeanAutoWiringSupport是spring文档中的首选方式。这个方法不是更好,因为你不必从webcontext显式访问bean吗?
答案 1 :(得分:0)
一个很好的使用示例是当您拥有一个Web服务并且您希望自动装配许多其他的Spring bean时。这看起来比使用Context Utils更优雅。
convertJsonDateTimeToJs: function (jsonDate) {
var dateSlice = jsonDate.slice(6, 24);
var milliseconds = parseInt(dateSlice);
return new Date(milliseconds);
}