В Spring: нужно ли создавать Java-класс, если конфигурация задана в XML?

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

Ответ

Да, класс создавать обязательно. XML-конфигурация в Spring лишь описывает как создать и связать объекты (бины), но не заменяет сам Java-код.

Роль XML:

  • Объявляет бин и указывает его класс.
  • Задает зависимости (через конструктор или сеттеры).
<bean id="myService" class="com.example.MyServiceImpl">
    <property name="repository" ref="myRepository"/>
</bean>

Роль Java-класса:

  • Содержит исполняемую логику приложения.
  • Должен существовать по пути, указанному в атрибуте class.
package com.example;

public class MyServiceImpl {
    private MyRepository repository;
    // Setter и бизнес-методы должны быть реализованы здесь
    public void setRepository(MyRepository repo) {
        this.repository = repo;
    }
}

Без класса контейнеру Spring не из чего будет создавать экземпляр бина.