Spring Start Here 1 Flashcards

1
Q

Context

A
  • Это центральный интерфейс для предоставления конфигурации приложения. Он предоставляет базовые функции контейнера Spring.
  • Место в памяти приложения, куда добавляются все экземпляры объектов, которыми должен управлять фреймворк.
  • Это механизм, позволяющий Spring контролировать создаваемые вами экземпляры.
  • Spring может управлять только теми объектами, которые являются частью фреймворка.
  • В контекст Spring можно добавить объект любого типа
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Основные функции Spring-контекста

A
  1. Создание объектов (бинов) и управление ими на основе конфигурации.
  2. Внедрение зависимостей (Dependency Injection) между компонентами.
  3. Управление жизненным циклом объектов.
  4. Публикация событий и поддержка обработки событий внутри приложения.
  5. Интеграция с внешними системами — Spring-контекст может подключаться к базе данных, внешним API, JMS, и другим сервисам.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Способы добавления бинов в контекст

A
  1. Посредством аннотации @Bean;
  2. Посредством стереотипных аннотаций (@Component и т.д.);
  3. Программно (например, при помощи XML-конфигурации).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Создание экземпляра контекста Spring

A
  1. Подключить зависимость

<groupId>org.Springframework</groupId>

<artifactId>Spring-context</artifactId>

  1. Добавить экземпляр контекста в main
    Main {
    Context context =
    new xxxApplicationContext();
    }
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Добавление бина в контекст Spring посредством аннотации @Bean

A
  1. Определить в проекте класс конфигурации (с аннотацией @Configuration).
    Он используется для описания конфигурации контекста Spring.

@Configuration
public class ProjectConfig {

}

  1. Добавить в класс конфигурации метод, возвращающий экземпляр объекта, который мы хотим добавить в контекст, и снабдить этот метод аннотацией @Bean.

@Bean
Parrot parrot() {
return new Parrot();
}

  1. Настроить Spring на использование класса конфигурации.
    Классы конфигураций используются для создания различных конфигураций фреймворка.
    Context context = new xxxApplicationContext(ProjectConfig.class);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Обращение к экземпляру класса из контекста

A

Parrot parrot =
context.getBean(Parrot.class);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Добавление в контекст Spring несколько бинов одного типа

A

Для добавления в контекст Spring несколько бинов одного типа используется несколько методов с аннотацией @Bean.
Каждому экземпляру присваивается уникальный идентификатор.
Чтобы впоследствии сослаться на этот экземпляр, нужно использовать идентификатор бина.
@Configuration
public class ProjectConfig {
@Bean
Parrot parrot1() {…}

@Bean
Parrot parrot2() {…}

@Bean
Parrot parrot3() {…}
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Получение конкретного бина из контекста

A

Parrot parrot = context.getBean
(“parrot2”, Parrot.class);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Присвоение имени бину

A

Можно указать имя бина в аннотации @Bean в качестве атрибута name или value.
@Bean(name = “miki”);
@Bean(value = “miki”);
@Bean(“miki”).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Определение бина в качестве первичного

A

При наличии в контексте Spring нескольких бинов одного типа один из бинов можно сделать первичным.
Для этого используется аннотация @Primary.
Spring применяет первичный бин тогда, когда существует несколько бинов данного типа и конкретное имя не указано. Первичный бин — это просто бин, который Spring использует по умолчанию.

@Bean
@Primary
Parrot parrot2() {
return new Parrot();
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly