Как настроить бин в Spring с помощью XML?

«Как настроить бин в Spring с помощью XML?» — вопрос из категории Spring, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, XML — это классический способ декларативной конфигурации бинов в Spring.

Пример конфигурации:

<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.xsd">

    <bean id="userService" class="com.example.UserService">
        <property name="userRepository" ref="userRepository"/>
    </bean>
    <bean id="userRepository" class="com.example.UserRepositoryImpl"/>
</beans>

Преимущества:

  • Явность и централизация: Вся конфигурация собрана в одном месте.
  • Гибкость: Позволяет настраивать бины без изменения исходного кода.

Недостатки:

  • Многословность: Большие конфигурационные файлы.
  • Сложность рефакторинга: Нет проверки типов на этапе компиляции.

Современные альтернативы:

  1. Аннотации: @Component, @Service, @Autowired.
  2. Java-based конфигурация: Классы с @Configuration и методы с @Bean.

XML-конфигурация до сих пор актуальна для legacy-проектов или когда требуется внешнее управление бинами.