2014-11-21 5 views
0

Я хочу переключиться между зависимостями во время выполнения.Исключить класс из зависимости

Псевдо код:

//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

Это идеальный кандидат для инъекций зависимостей. Если это веб-приложение или вы можете добавить дополнительные библиотеки, такие как Spring или любой контейнер DI (PicoContainer?), Вы можете использовать их для выбора зависимостей во время выполнения.

Попробуйте googling "java @Alternative annotation".

Смежные вопросы