1. Обзор
В этом кратком руководстве мы рассмотрим аннотацию @Value
Spring.
Эту аннотацию можно использовать для ввода значений в поля в компонентах, управляемых Spring, и ее можно применять на уровне параметров поля или конструктора/метода.
В этом руководстве мы представим концепции IoC (инверсия управления) и DI (внедрение зависимостей), а также посмотрим, как они реализованы в среде Spring.
Инверсия управления — это принцип разработки программного обеспечения, который передает управление объектами или частями программы контейнеру или фреймворку. Чаще всего мы используем его в контексте объектно-ориентированного программирования.
Начиная с Spring 2.5, в фреймворке появилась управляемая аннотациями Dependency Injection
. Основная аннотация этой функции — @Autowired
.
Это позволяет Spring разрешать и внедрять сотрудничающие компоненты в наш компонент.
В этом уроке мы сначала рассмотрим, как включить автоподключение и различные
способы автоподключения bean-компонентов. После этого мы поговорим о разрешении конфликтов bean-компонентов с помощью аннотации @Qualifier
, а также о возможных сценариях исключений.
@Autowired
В этом кратком руководстве мы узнаем о различных типах областей действия компонентов в среде Spring.
Область действия bean-компонента определяет жизненный цикл и видимость этого bean-компонента в контекстах, в которых мы его используем.
Последняя версия фреймворка Spring определяет 6 типов областей видимости:
Последние четыре упомянутые области, request, session, application
и websocket
, доступны только в веб-приложении.
Именование bean-компонента Spring весьма полезно, когда у нас есть несколько реализаций одного и того же типа. Это связано с тем, что для Spring будет неоднозначно внедрить компонент, если наши компоненты не имеют уникальных имен.
Имея контроль над именованием bean-компонентов, мы можем указать Spring, какой bean-компонент мы хотим внедрить в целевой объект.
В этой статье мы обсудим стратегии именования компонентов Spring, а также рассмотрим, как мы можем дать несколько имен одному типу компонентов.
В этой статье мы рассмотрим основные преимущества Spring как одной из самых популярных сред Java.
Что еще более важно, мы попытаемся понять причины, по которым мы выбрали Spring. Подробная информация о Spring и его составных частях широко освещалась в наших предыдущих уроках . Следовательно, мы пропустим вводные части «как» и сосредоточимся в основном на «почему».
Прежде чем мы начнем какое-либо обсуждение, в частности, Spring, давайте сначала поймем, почему нам вообще нужно использовать какой-либо фреймворк.
Оглавление
.properties
для каждой средыКонфигурация должна быть специфичной для среды — это факт жизни. Если бы это было не так, то это не было бы конфигурацией, и мы бы просто жестко задавали значения в коде.
Для приложения Spring есть несколько решений, которые вы можете использовать — от простых решений до сверхгибких и очень сложных альтернатив.
Одним из наиболее распространенных и простых решений является гибкое использование файлов свойств и поддержка свойств первого класса, предоставляемая Spring .
В этом руководстве мы обсудим наиболее распространенные аннотации компонентов Spring , используемые для определения различных типов компонентов.
Есть несколько способов настроить bean-компоненты в контейнере Spring. Во-первых, мы можем объявить их с помощью конфигурации XML. Мы также можем объявить bean-компоненты, используя аннотацию @Bean
в классе конфигурации.
Наконец, мы можем пометить класс одной из аннотаций из пакета org.springframework.stereotype
, а остальные оставить для сканирования компонентов.
В этом руководстве мы подробно рассмотрим интерфейс Spring ApplicationContext .
ApplicationContext
Одной из основных особенностей среды Spring является контейнер IoC (Inversion of Control). Контейнер Spring IoC отвечает за управление объектами приложения. Он использует внедрение зависимостей для достижения инверсии управления.