我有一個使用XML作爲主配置的Spring MVC項目,包括註冊JAXB類。我現在把它變成一個多模塊應用程序,並有一個單獨的項目來創建一個可選的JAR文件。 JAR文件將類似@Controller和@Service類的東西添加到主MVC項目中,但主項目不依賴於該JAR,並且我想保留它,所以我不想自定義應用程序主項目中的context xml,以便添加對可選JAR的支持;我只是想將該JAR添加到類路徑中。混合和擴展Spring XML配置
在那個可選的JAR中,我成功地使用了一個帶有@Configuration批註的類來在我的應用程序上下文中創建新的bean,但我現在需要擴展一個現有的bean,以添加新的JAXB批註的類和包的ObjectFactory類的,等
我看不出如何做到這一點...
我試圖通配符編組包這樣的:
<bean id="jaxbMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="packagesToScan" value="com.app.xml.**"/>
</bean>
但是這似乎並沒有因爲我得到:
javax.servlet.ServletException: Unable to locate object to be marshalled in model
是否有另一種方法可以服用?理想情況下,我想在我的@Configuration類中添加一個方法,它只是將新類添加到現有的Jaxb2Marshaller bean中...
甚至更好,找到一種方法讓Spring檢測所有帶有JAXB註釋的類在啓動...
我使用Spring 3.2.1和JAXB2通過Spring OXM
而不是使用通配符使用分隔的多個包名通過逗號。因爲它不識別通配符和屬性「packagesToScan」接受字符串數組。 – 2013-03-14 11:45:08
是的,這正是我試圖避免的,因爲這意味着我從我的主applicationContext.xml創建了對這些包的依賴關係。我正在調查其他方法 – 2013-03-14 11:49:20