Главная » Spring » Конфигурирование Spring в программном коде на Java

0

Хотите верьте, хотите нет, но не все разработчики являются яры- ми поклонниками XML. В действительности некоторые из них яв- ляются членами клуба Настоящих Мужчин, Ненавистников XML. Они очень хотели бы избавить мир от угловых скобок. Длинная история использования XML в Spring приучила некоторых против- ников XML использовать его.

Тем, кто принадлежит числу противников XML, версия Spring

3.0 может предложить кое-что особенное. Теперь есть возможность конфигурировать приложения на основе Spring практически без XML, исключительно в программном коде на языке Java. И даже у тех, кто не является противником XML, может возникнуть же- лание попробовать выполнить конфигурирование на языке Java, потому что, как будет показано чуть ниже, этот прием обладает не- которыми возможностями, недоступными в XML.

Подготовка к конфигурированию на языке Java

Несмотря на то что прием конфигурирования на языке Java по- зволяет описать конфигурацию приложения практически без ис- пользования XML, тем не менее некоторый объем XML-кода все

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

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

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

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<context:component-scan

base-package="com.springinaction.springidol"  />

</beans>

Выше уже рассказывалось, что элемент <context:component-scan> обеспечивает автоматическую регистрацию компонентов, отмечен- ных специальными аннотациями. Но он также автоматически за- гружает Java-классы, реализующие конфигурирование, отмеченные аннотацией @Configuration. В данном случае атрибут base-package сообщает фреймворку Spring, что классы, отмеченные аннотацией

@Configuration, следует искать в пакете com.springinaction.springidol.

Определение  конфигурационных классов

Когда мы начинали знакомиться с конфигурациями Spring в фор- мате XML, я показал фрагмент с элементом <beans> из пространства имен beans, играющим роль корневого элемента. Его эквивалентом на языке Java является класс, отмеченный аннотацией @Configuration. Например:

package com.springinaction.springidol;

import   org.springframework.context.annotation.Configuration;

@Configuration

public class SpringIdolConfig {

// Здесь находятся методы, определяющие компоненты

}

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

тов. Объявления компонентов – это обычные методы, отмеченные аннотацией @Bean. Посмотрим, как использовать аннотацию @Bean для связывания компонентов в описании конфигурации на языке Java.

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

По теме:

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