Внедрение зависимостей Spring с аннотацией @Autowired без сеттера

Я использую Spring уже несколько месяцев, и я думал, что внедрение зависимостей с аннотацией @Autowiredтакже требует установки для поле для инъекции.

Итак, я использую это так:

@Controller
public class MyController {

    @Autowired
    MyService injectedService;

    public void setMyService(MyService injectedService) {
        this.injectedService = injectedService;
    }

    ...

}

Но сегодня я попробовал это:

@Controller
public class MyController {

    @Autowired
    MyService injectedService;

    ...

}

И, о чудо, никаких ошибок компиляции, никаких ошибок при запуске, приложение работает отлично...

Итак, мой вопрос: требуется ли сеттер для внедрения зависимостей с аннотацией @Autowired?

Я использую Spring 3.1.1.

26
задан Igor Patsian 15 August 2019 в 09:57
поделиться