В моем приложении я использую ContextLoaderListener загрузить файлы контекста из многих баночек с помощью:Дополнительные ссылки Spring боб
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:META-INF/contextBeans.xml</param-value>
</context-param>
Это означает, что я могу ссылаться на бобы из других банок, не делая импорт.
В приложении есть несколько вариантов развертывания, и в некоторых вариантах развертывания банки могут быть исключены. Чтобы поддержать это, я хотел бы, чтобы некоторые ссылки на bean были необязательными. Например:
<bean id="mainAppBean" class="com.someapp.MyApplication">
<constructor-arg index="0" ref="localBean"/>
<constructor-arg index="1" ref="optionalBeanReference1"/>
<constructor-arg index="2" ref="optionalBeanReference2"/>
</bean>
В приведенном выше примере, я хотел бы иметь optionalBeanReference1 равный нуль, если ссылка не была найдена (маркировать необязательным в некотором роде)
Может ли это быть сделано весной? или какой метод вы рекомендуете для обработки динамических ссылок?
Я использовал что-то похожее на первый вариант, где после загрузки компонента я проверяю, существуют ли другие компоненты. Это выглядит наилучшим образом без аннотаций. – mbdev