1. Обзор
В этом кратком руководстве мы рассмотрим аннотацию Spring @RequestParam
и ее атрибуты.
Проще говоря, мы можем использовать @RequestParam
для извлечения параметров запроса, параметров формы и даже файлов из запроса.
Возможно, одним из наиболее важных принципов разработки современного программного обеспечения является внедрение зависимостей (DI),
которое совершенно естественно вытекает из другого критически важного принципа: модульности.
В этом кратком руководстве будет рассмотрен особый тип техники внедрения зависимостей в Spring, называемый внедрением зависимостей на основе конструктора,
что, проще говоря, означает, что мы передаем необходимые компоненты в класс во время создания экземпляра.
Для начала нам нужно импортировать зависимость spring-context
в наш pom.xml
:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
Затем нам нужно настроить файл конфигурации .
Этот файл может быть файлом POJO или XML, в зависимости от предпочтений.
В этом уроке мы сосредоточимся на представлении профилей в Spring.
Профили — это основная функция фреймворка , позволяющая нам сопоставлять наши bean-компоненты с разными профилями — например, dev
, test
и prod
.
Затем мы можем активировать разные профили в разных средах, чтобы загружать только те bean-компоненты, которые нам нужны.
@Profile
на бинеАннотация Spring @Value
предоставляет удобный способ внедрения значений свойств в компоненты. Также очень полезно предоставить разумные значения по умолчанию для случаев, когда свойство может отсутствовать.
Это то, на чем мы сосредоточимся в этом руководстве — как указать значение по умолчанию для аннотации @Value
Spring.
Более подробное краткое руководство по @Value
смотрите в статье здесь .
В этом руководстве по Spring Framework мы покажем, как использовать аннотации, связанные с внедрением зависимостей, а именно аннотации @Resource
, @Inject
и @Autowired
. Эти аннотации предоставляют классам декларативный способ разрешения зависимостей:
@Autowired
ArbitraryClass arbObject;
В отличие от их прямого создания (императивный способ):
ArbitraryClass arbObject = new ArbitraryClass();
Две из трех аннотаций относятся к пакету расширения Java: javax.annotation.Resource
и javax.inject.Inject
. Аннотация @Autowired
принадлежит пакету org.springframework.beans.factory.annotation
.
Бин — ключевая концепция Spring Framework. Поэтому понимание этого понятия имеет решающее значение для понимания структуры и эффективного ее использования.
К сожалению, нет четких ответов на простой вопрос о том, что на самом деле представляет собой bean-компонент Spring. Некоторые объяснения доходят до такого низкого уровня, что общая картина упускается из виду, тогда как другие слишком расплывчаты.
В этом руководстве мы попытаемся пролить свет на эту тему, начиная с описания в официальной документации.
В этом базовом руководстве мы узнаем, как выполнить простую настройку bean-компонента на основе XML с помощью Spring Framework.
Начнем с добавления зависимости библиотеки Spring в pom.xml
:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.4.RELEASE</version>
</dependency>
Spring Framework поставляется с двумя контейнерами IOC — BeanFactory
и ApplicationContext
. BeanFactory — это
самая базовая версия контейнеров IOC, а ApplicationContext
расширяет возможности BeanFactory
.
В этом кратком руководстве мы поймем существенные различия между этими двумя контейнерами IOC на практических примерах.
BeanFactory
загружает компоненты по запросу, а ApplicationContext
загружает все компоненты при запуске . Таким образом, BeanFactory легче
по сравнению с ApplicationContext
. Давайте разберемся на примере.