Главная » Spring » Объявление простого компонента Spring

0

В отличие от некоторых конкурсов талантов с аналогичными на- званиями, о которых вы могли слышать, «Spring Idol» учитывает не только певцов. На самом деле многим исполнителям медведь на ухо наступил. Например, один из исполнителей – жонглер, пред- ставленный в листинге 2.1.

Листинг 2.1. Компонент-жонглер

package com.springinaction.springidol;

public class Juggler implements Performer { private  int  beanBags  =  3;

public  Juggler()  {

}

public   Juggler(int   beanBags)   { this.beanBags  =  beanBags;

}

public   void   perform()   throws   PerformanceException   { System.out.println("JUGGLING " + beanBags + " BEANBAGS");

}

}

Как видите, класс жонглера Juggler реализует не только интер- фейс Performer, посредством которого он сообщает, что жонглирует несколькими мячиками. По умолчанию жонглер жонглирует тремя мячиками, но через конструктор ему можно передать любое другое их количество.

Итак, мы определили класс Juggler, а теперь добро пожаловать на сцену, наш первый исполнитель Дюк! Ниже показано, как объявлен Дюк в конфигурационном файле Spring (spring-idol.xml):

<bean  id="duke"

class="com.springinaction.springidol.Juggler" />

Элемент <bean> является самым основным в конфигурационном файле Spring. Он предписывает фреймворку Spring создать объект. Здесь мы объявили объект duke как компонент, управляемый фрейм- ворком Spring, используя чуть ли не самое простейшее объявление

<bean>, какое только возможно. Атрибут id присваивает компоненту

имя, которое можно использовать для обращения к компоненту в контейнере Spring. Этот компонент будет известен как duke. А атри- бут class сообщает фреймворку тип компонента. Компонент duke – это объект класса Juggler.

В процессе загрузки компонентов контейнер Spring создаст компо- нент duke, используя конструктор по умолчанию. По сути, компонент duke будет создан выполнением следующего программного кода1:

new        com.springinaction.springidol.Juggler();

Чтобы дать Дюку возможность выступить, можно загрузить кон- текст приложения, как показано ниже:

ApplicationContext  ctx  =  new  ClassPathXmlApplicationContext( "com/springinaction/springidol/spring-idol.xml");

Performer  performer  =  (Performer)  ctx.getBean("duke"); performer.perform();

Несмотря на то что это не настоящий конкурс, предыдущий код дает Дюку шанс выступить. При выполнении он выведет следующее:

JUGGLING  3  BEANBAGS

По умолчанию Дюк жонглирует только тремя мячиками. Однако жонглирование тремя мячами не выглядит чем-то особенным – это по силам любому. Чтобы Дюк имел хоть какую-то надежду на победу в конкурсе талантов, ему понадобится показать свое умение жонг- лировать гораздо большим количеством мячиков. Посмотрим, как сконфигурировать Дюка, чтобы он мог стать жонглером-победителем.

Источник:   Уоллс К., Spring в действии. – М.: ДМК Пресс, 2013. – 752 с.: ил.

По теме:

  • Комментарии