2

我正在创建网络服务。我有应用层和网络层。这两个层都使用 jaxb 从 xsd 生成对象工厂。生成类在包中:my.package.v1

现在我有另一个项目依赖于这些项目。在上下文中,我指定了对象工厂:

<bean id="objectFactory" class="my.package.v1.ObjectFactory" />

当我编译和部署应用程序时,一切正常。但是有两个对象工厂,他只能使用其中一个。哪个应用程序使用以及我如何更改它并使用另一个应用程序?

更新:

是否有选项如何在 spring 上下文中设置使用哪个类?当我有两个 ObjectFactory 时,我想更改它以设置正确的类

<bean id="objectFactory" class="my.package.v1.ObjectFactory" /> 
4

2 回答 2

0

实际使用 my.package.v1.ObjectFactory 的两种实现中的哪一种取决于 ClassLoader。

有关 ClassLoaders 如何解决此类问题的信息,请参阅问题。

于 2012-09-07T07:39:20.783 回答
0

可能会有冲突的结果,并且取决于上下文类加载器。我建议将它们放在单独的包中以避免命名空间冲突

于 2012-09-07T07:46:44.307 回答