Учебники

Весна — Определение бобов

Объекты, которые образуют основу вашего приложения и управляются контейнером Spring IoC, называются bean-компонентами . Бин — это объект, который создается, собирается и иным образом управляется контейнером Spring IoC. Эти компоненты создаются с помощью метаданных конфигурации, которые вы предоставляете контейнеру. Например, в форме определений XML <bean />, которые вы уже видели в предыдущих главах.

Определение компонента содержит информацию, называемую метаданными конфигурации , которая необходима контейнеру, чтобы знать следующее:

  • Как создать боб
  • Подробности жизненного цикла Бина
  • Зависимости Бина

Все приведенные выше метаданные конфигурации преобразуются в набор следующих свойств, которые составляют каждое определение компонента.

Sr.No. Свойства и описание
1

учебный класс

Этот атрибут является обязательным и определяет класс компонента, который будет использоваться для создания компонента.

2

название

Этот атрибут уникальным образом определяет идентификатор компонента. В метаданных конфигурации на основе XML вы используете атрибуты id и / или name для указания идентификатора (ов) компонента.

3

объем

Этот атрибут задает область действия объектов, созданных из определенного определения компонента, и он будет обсуждаться в главе об областях применения компонента.

4

Конструктор-Arg

Это используется для внедрения зависимостей и будет обсуждаться в последующих главах.

5

свойства

Это используется для внедрения зависимостей и будет обсуждаться в последующих главах.

6

режим автопроводки

Это используется для внедрения зависимостей и будет обсуждаться в последующих главах.

7

режим ленивой инициализации

Инициализированный ленивый bean-компонент сообщает контейнеру IoC о создании экземпляра bean-компонента при первом запросе, а не при запуске.

8

метод инициализации

Обратный вызов, вызываемый сразу после того, как контейнер установил все необходимые свойства в bean-компоненте. Это будет обсуждаться в главе о жизненном цикле бобов.

9

метод уничтожения

Обратный вызов, который нужно использовать, когда контейнер, содержащий бин, уничтожен. Это будет обсуждаться в главе о жизненном цикле бобов.

учебный класс

Этот атрибут является обязательным и определяет класс компонента, который будет использоваться для создания компонента.

название

Этот атрибут уникальным образом определяет идентификатор компонента. В метаданных конфигурации на основе XML вы используете атрибуты id и / или name для указания идентификатора (ов) компонента.

объем

Этот атрибут задает область действия объектов, созданных из определенного определения компонента, и он будет обсуждаться в главе об областях применения компонента.

Конструктор-Arg

Это используется для внедрения зависимостей и будет обсуждаться в последующих главах.

свойства

Это используется для внедрения зависимостей и будет обсуждаться в последующих главах.

режим автопроводки

Это используется для внедрения зависимостей и будет обсуждаться в последующих главах.

режим ленивой инициализации

Инициализированный ленивый bean-компонент сообщает контейнеру IoC о создании экземпляра bean-компонента при первом запросе, а не при запуске.

метод инициализации

Обратный вызов, вызываемый сразу после того, как контейнер установил все необходимые свойства в bean-компоненте. Это будет обсуждаться в главе о жизненном цикле бобов.

метод уничтожения

Обратный вызов, который нужно использовать, когда контейнер, содержащий бин, уничтожен. Это будет обсуждаться в главе о жизненном цикле бобов.

Метаданные конфигурации Spring

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

  • XML-файл конфигурации.
  • Конфигурация на основе аннотаций
  • Конфигурация на основе Java

Вы уже видели, как метаданные конфигурации на основе XML предоставляются контейнеру, но давайте рассмотрим другой пример файла конфигурации на основе XML с различными определениями bean-компонентов, включая отложенную инициализацию, метод инициализации и метод уничтожения —

<?xml version = "1.0" encoding = "UTF-8"?>

<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

   <!-- A simple bean definition -->
   <bean id = "..." class = "...">
      <!-- collaborators and configuration for this bean go here -->
   </bean>

   <!-- A bean definition with lazy init set on -->
   <bean id = "..." class = "..." lazy-init = "true">
      <!-- collaborators and configuration for this bean go here -->
   </bean>

   <!-- A bean definition with initialization method -->
   <bean id = "..." class = "..." init-method = "...">
      <!-- collaborators and configuration for this bean go here -->
   </bean>

   <!-- A bean definition with destruction method -->
   <bean id = "..." class = "..." destroy-method = "...">
      <!-- collaborators and configuration for this bean go here -->
   </bean>

   <!-- more bean definitions go here -->
   
</beans>

Вы можете проверить Spring Hello World Example, чтобы понять, как определять, настраивать и создавать Spring Beans.

Мы обсудим конфигурацию на основе аннотаций в отдельной главе. Это намеренно обсуждается в отдельной главе, так как мы хотим, чтобы вы поняли несколько других важных концепций Spring, прежде чем начинать программировать с Spring Dependency Injection с аннотациями.