2015-09-17 3 views
1

У меня есть группа групп, в которые могут быть члены. Я хотел бы назначить группу по умолчанию весной, которую я могу использовать и использовать в случае, если кто-то не является членом какой-либо другой группы.Как ввести версию объекта по умолчанию весной

Группа по умолчанию представляет собой объект Group, те же методы и api и т. Д., Это только тот, который имеет значения по умолчанию. Его нужно было бы построить в конфигурации. Я хочу сделать его инъецируемым, потому что логика, требующая группы по умолчанию, находится в общем проекте, тогда как группа по умолчанию будет построена в проекте, который использует банку firsts, то есть логика, которая нуждается в группе по умолчанию, не знает о методах используется для его создания.

Как я могу построить что-то во время фазы конфигурации весны и ввести его?

+0

Если возможно изменить целевой исходный код, целевой класс, в котором вам нужна группа по умолчанию, может просто реализовать интерфейс InitializingBean и использовать метод callback afterPropertiesSet (...) для добавления группы по умолчанию в некоторых условиях, например (groups.isEmpty()) {addDefaultOne()}. – Ernusc

+0

Другим способом может быть создание BeanFactory для конкретного компонента (целевого компонента, которому требуется значение по умолчанию для некоторых условий), и создать его с помощью таких условий, как if (groups.isEmpty()) {addDefaultGroup (..)} ". Этот подход не требует изменения исходного кода цели, а также прозрачности. – Ernusc

ответ

0

Я не уверен, что полностью слежу за тем, что вы говорите. Но если у вас есть несколько реализаций некоторого интерфейса Group, который вы хотите ввести при разных обстоятельствах, я бы рекомендовал использовать @Profile.

Вам просто нужно выяснить, как активировать правильный профиль для вашего прецедента.

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