Java 从依赖项中排除类

Java 从依赖项中排除类,java,maven-2,maven-3,dependency-management,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.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使用模拟依赖项这是依赖项注入的最佳候选。 如果这是web应用程序,或者您可以添加其他库,如Spring或任何类型的DI容器(PicoContainer?),您可以利用它们在运行时选择依赖项

试试谷歌搜索“java@Alternative注解”