Часть 1 — Spring в действии

Новый интерес к реактивному программированию направлен на обеспечение большей масштабируемости и улучшенной производительности за счет неблокирующих операций

Spring фреймворк управляет bean-компонентами, объединяет их внутри контекста приложения Spring. Акт объединения bean-компонентов основан на шаблоне Внедрение зависимостей (Dependency Injection, DI)

Способы DI

  1. Через аргумент конструктора в XML
<bean id="inventoryService"
    class="com.example.InventoryService" />
<bean id="productService"
    class="com.example.ProductService" />
  <constructor-arg ref="inventoryService" />
</bean>

2. Через класс конфигуратор

@Configuration
public class ServiceConfiguration {
  @Bean
  public InventoryService inventoryService() {
    return new InventoryService();
  }

  @Bean
  public ProductService productService() {
    return new ProductService(inventoryService());
  }
}

Аннотация @Configuration подсказывает фреймворку Spring, что
это класс конфигурации, который создает bean-компоненты для кон-
текста Spring.

Методы класса конфигурации снабжены аннотацией @Bean, указы-
вающей, что возвращаемые ими объекты должны быть добавлены
в контекст приложения как bean-компоненты

Автоматическая настройка уходит корнями в методы Spring, из-
вестные как автоматическое связывание (autowiring) и сканирова-
ние компонентов.

Spring Boot – это расширение для Spring
Framework, предлагающее несколько улучшений. Наиболее извест-
ным из них является автоконфигурация – Spring Boot может делать
обоснованные предположения о том, какие компоненты следует на-
строить и связать вместе, опираясь на элементы в пути поиска клас-
сов, переменные окружения и другие факторы.

Слово starter в идентификаторе артефакта.
Зависимости от Spring Boot Starter отличаются тем, что они обычно не имеют своего
библиотечного кода, а транзитивно подключают другие библиотеки. Достаточно добавить зависимость spring-boot-starter-web вместо длинного списка библиотек, которые позволят вам написать веб-приложение; освобождают от беспокойства о версиях библиотек. Вы можете быть уверены, что версии библиотек, добавленных транзитивно, будут совместимы с данной версией Spring Boot. Вам остается только определиться с версией Spring Boot.

@SpringBootApplication состоит из:

@SpringBootConfiguration – определяет этот класс как класс конфигурации.

@EnableAutoConfiguration – включает автоконфигурацию Spring
Boot.
@ComponentScan – включает сканирование компонентов.

Оцените автора
Kosenkov.Pro
Добавить комментарий