Типы конфигурации Spring в теории - PullRequest
0 голосов
/ 26 мая 2020

Я хотел бы попросить объяснения типов конфигурации Spring?

Вот то, что я знаю, но меня смущает то, что я нашел здесь, в стеке и в других местах.

  1. XML конфигурация
  2. Java конфигурация
  3. Конфигурация на основе аннотаций (это то, что меня интересует)

Я читал много статей или мнений о том, что в основном есть только два варианта конфигурации (XML и Java). Так что же не так, когда я рассматриваю конфигурацию на основе аннотаций как третий вариант? Я предполагаю, что эта опция доступна только тогда, когда я использую конфигурацию на основе XML с использованием:

<context:annotation-config/>

Поэтому некоторые люди не рассматривают конфигурацию на основе аннотаций в качестве третьего варианта, потому что она зависит от XML (или Java) config?

У меня есть еще один вопрос:

Могу ли я использовать аннотационный подход, используя конфигурацию на основе Java? Я не смог найти, как включить его с помощью Java. (возможно, используя @EnableAutoConfiguration ??)

Я рассматриваю этот сценарий с использованием Spring Core. Когда мы говорим о SpringBoot, я предполагаю, что конфигурация аннотации включена по умолчанию в @SpringBootApplication аннотации?

Спасибо!

1 Ответ

0 голосов
/ 26 мая 2020

Вы правы в общем смысле, я отсылаю вас к этому небольшому разделу в официальных документах для spring [https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html]

Здесь вы увидите пример использования XML с использованием

 <beans>
    <context:annotation-config/>
    <bean class="com.acme.AppConfig"/>
 </beans>

и JAVA сканирования компонентов пружины

    @Configuration
 public class AppConfig {

     private final SomeBean someBean;

     public AppConfig(SomeBean someBean) {
         this.someBean = someBean;
     }

     // @Bean definition using "SomeBean"

 }

Вы также правы насчет springboot @SpringBootApplication I содержит @Configuration, @ComponentScan и @EnableAutoConfiguration для сканирования и настройте свои beans

...