2016-10-07 3 views
0

У меня есть требование, чтобы динамически создавать боб, я хочу сделать что-то вроде нижеДинамически создать боб

context1 во внешней файловой системе

<bean id="env" class="java.lang.String"> 
     <constructor-arg value="dev"/> 
</bean> 
<import resource="classpath:context2/>" 

context2 в пути к классам, как показано ниже:

<bean id="#{env}_config" value="some value here"/> 

в java, когда я пытаюсь обратиться к bean dev_config через контекстный контекст context1, он дает исключение, что компонент dev_config не найден. Как я могу это достичь?

ответ

0

вам необходимо добавить контекст имен (должен иметь пружинную context.jar), а также указать атрибут сканирования и указать пакет, который вы хотите проверить новые бобы

<context:component-scan base-package="{quulified name for your package}"> 
</context:component-scan> 

Каждый класс, который вы хотите создать боб для необходимости аннотировать с помощью @Component

 @Component 
     public class MyClass 
+0

Это не решит мою проблему. Если кто-то изменил контекст приложения в контексте1 и установил env в uat, java-код должен иметь возможность находить bean-компонент в контексте приложения без каких-либо изменений. –

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