Sobes.tech
Back to questions
Junior — Middle
62

Каким образом можно определить и зарегистрировать контроллер в Spring без использования аннотаций?

Answer from AI

sobes.tech AI

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

Например, в XML-конфигурации:

<bean id="myController" class="com.example.MyController" />

При этом класс контроллера должен реализовывать соответствующий интерфейс или наследоваться от нужного класса, а маршруты можно настроить через конфигурацию HandlerMapping.

В Java-конфигурации можно создать бин вручную:

@Configuration
public class AppConfig {
    @Bean
    public MyController myController() {
        return new MyController();
    }

    @Bean
    public HandlerMapping handlerMapping() {
        SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();
        Map<String, Object> urlMap = new HashMap<>();
        urlMap.put("/path", myController());
        mapping.setUrlMap(urlMap);
        return mapping;
    }
}

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