@Autowired не работает в параметре метода

Вот мой AppConfig:

@Configuration @EnableWebMvc @ComponentScan class AppConfig{ @Bean("myname") fun name(): Name = Name("Quang") } 

Класс данных:

 data class Name(val value: String ="") 

Мой класс контроллера:

 @Controller @RequestMapping("/") class Main{ @RequestMapping("/") @ResponseBody fun index(@Autowired @Qualifier("myname") name: Name): Name { //this return "" return name } } 

Результатом является «» вместо «Quang». Но теперь, если я ввожу его из поля, как это, он отлично работает:

 @Controller @RequestMapping("/") class Main{ @Autowired(required = true) @Qualifier("myname") lateinit var name:Name @RequestMapping("/") @ResponseBody fun index(): Name { //this return "Quang" as expected return name } } 

Так вы можете объяснить, почему @Autowired не работает, когда я использую его в параметре метода

    Согласно документации:

    Помечает метод конструктора, поля, сеттера или конфигурационный метод, который должен быть отстроен средствами установки впрыска Spring Spring.

    В вашем первом примере Spring не будет ничего делать.