это нормально иметь @Autowire или @Inject в классе @Configuration - PullRequest
1 голос
/ 18 марта 2019

Spring 5, Java 8 У меня есть несколько файлов конфигурации, один из которых имеет зависимость @Autowire. он не жалуется на время выполнения и работает нормально, но Intellij предупреждает, что не может найти эти компоненты.

интересно, нормально ли иметь @Autowire или @Inject в классе конфигурации.

почему у меня это b / c, моя конфигурация websocket и моим обработчикам нужны зависимости.

1 Ответ

2 голосов
/ 18 марта 2019

Все нормально.

@Configuration указывает, что класс объявляет @Bean s, которые могут требовать зависимостей.* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * '* *' * * *) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

*1010* * * * * * * * * * * * * * *1011* * *) * * * * * * *.параметры, а не вводить их в поля.Он сохраняет класс конфигурации чистым и подчеркивает необходимые зависимости для каждого @Bean метода.

Я предпочитаю

class C {
    @Bean
    public A a(B b) { new A(b); }
}

class C {
    private final B b;        

    @Bean
    public A a() { new A(b); }
}
...