Context
Основные функции Spring-контекста
Способы добавления бинов в контекст
Создание экземпляра контекста Spring
<groupId>org.Springframework</groupId>
<artifactId>Spring-context</artifactId>
Добавление бина в контекст Spring посредством аннотации @Bean
@Configuration
public class ProjectConfig {
…
}
@Bean
Parrot parrot() {
return new Parrot();
}
Обращение к экземпляру класса из контекста
Parrot parrot =
context.getBean(Parrot.class);
Добавление в контекст Spring несколько бинов одного типа
Для добавления в контекст Spring несколько бинов одного типа используется несколько методов с аннотацией @Bean.
Каждому экземпляру присваивается уникальный идентификатор.
Чтобы впоследствии сослаться на этот экземпляр, нужно использовать идентификатор бина.
@Configuration
public class ProjectConfig {
@Bean
Parrot parrot1() {…}
@Bean
Parrot parrot2() {…}
@Bean
Parrot parrot3() {…}
}
Получение конкретного бина из контекста
Parrot parrot = context.getBean
(“parrot2”, Parrot.class);
Присвоение имени бину
Можно указать имя бина в аннотации @Bean в качестве атрибута name или value.
@Bean(name = “miki”);
@Bean(value = “miki”);
@Bean(“miki”).
Определение бина в качестве первичного
При наличии в контексте Spring нескольких бинов одного типа один из бинов можно сделать первичным.
Для этого используется аннотация @Primary.
Spring применяет первичный бин тогда, когда существует несколько бинов данного типа и конкретное имя не указано. Первичный бин — это просто бин, который Spring использует по умолчанию.
@Bean
@Primary
Parrot parrot2() {
return new Parrot();
}