我正在创建网络服务。我有应用程序层和Web层。这两层都使用jaxb从xsd生成对象工厂。生成类在包中:my.package.v1
现在我有另一个依赖于这些项目的项目。 在上下文中,我指定了对象工厂:
<bean id="objectFactory" class="my.package.v1.ObjectFactory" />
当我编译和部署应用程序时,一切正常。但是有两个Object工厂,他只能使用其中一个。哪一个应用程序使用以及如何更改它并使用另一个应用程序?
更新:
有没有选项如何在spring上下文中设置要使用哪个类? 当我有两个ObjectFactory
时,我想改变它来设置正确的类<bean id="objectFactory" class="my.package.v1.ObjectFactory" />
答案 0 :(得分:0)
实际使用的my.package.v1.ObjectFactory的两个实现中的哪一个取决于ClassLoader。
有关ClassLoader如何解决此类问题的信息,请参阅this问题。
答案 1 :(得分:0)
可能存在冲突的结果,并且取决于Contextual类加载器。我建议将它们放在单独的包中以避免命名空间冲突