从依赖项中排除类

时间:2014-11-21 20:01:02

标签: java maven-2 maven-3 dependency-management

我想在运行时中切换依赖项。

伪代码:

//use com.realdependency.ConnectionFactoryImpl; 
    Class A {
           // intergration test  
       void testWithLiveDomain() {
          Connection connection = ConnectionFactory.getInstance().getConnection(domain);
       }

    }

// use com.mymockeddependency.ConnectionFactoryImpl; 
class B  {
   // unit test
   void testWithMockDomain() {
      Connection connection = ConnectionFactory.getInstance().getConnection(domain);
   }
}

如果我在POM.xml中同时拥有两个依赖项,那么我的B类使用的是真正的依赖项而不是模拟的依赖项。如何限制B类使用模拟依赖项

1 个答案:

答案 0 :(得分:1)

这是依赖注入的完美候选者。 如果这是web-app,或者您可以添加其他库,如Spring或任何类型的DI容器(PicoContainer?),您可以利用它们在运行时选择依赖项。

尝试谷歌搜索" java @Alternative注释"。