我正在嘗試將DAO注入CXF服務。爲此,我使用xml配置。將DAO注入CXF服務
在我的應用程序-servlet.xml中我已經添加下面的條目:
<bean id="blogService" class="blog.BlogEntriesImpl">
<property name="blogDao" ref="blogDao" />
</bean>
blogDao豆也在此文件中定義。
該服務被配置在另一個XML文件:
<import resource="classpath:META-INF/cxf/cxf.xml" />
<jaxws:endpoint id="blogService" implementor="blog.BlogEntriesImpl"
address="/Blog1" />
BlogEntriesImpl實現服務接口。它有一個dao屬性和一個setter方法。
我調試了應用程序,發現BlogEntriesImpl的一個實例在啓動時被實例化並且具有dao屬性。我會說這是通過app-servlet.xml中的bean配置完成的。
但是,當我調用服務時,拋出了NullPointerException。這是使用的另一個BlogEntriesImpl實例。
爲了解決此問題,我將service實現類(BlogEntriesImpl)中的dao屬性聲明爲靜態。該變量在應用程序的開始處設置。但我不喜歡這個解決方案。
有沒有更好的方法將注入到CXF服務?
預先感謝您!