Рубрики
Без рубрики

XML Определенные бобы в весенней загрузке

Узнайте о XML определенных бобов в весенней загрузки.

Автор оригинала: baeldung.

1. Введение

До весны 3.0, XML был единственным способом определения и настройки бобов. Весна 3.0 введено JavaConfig , что позволяет нам настроить бобы с помощью классов Java. Тем не менее, файлы конфигурации XML используются и сегодня.

В этом учебнике мы обсудим как интегрировать конфигурации XML в систему весенней .

2. Аннотация @ImportResource о жизни

@ImportResource аннотация позволяет нам импортировать один или несколько ресурсов, содержащих определения фасоли.



    
    
        
    

Чтобы использовать его в приложении Spring Boot, мы можем использовать @ImportResource аннотация , говоря ему, где найти файл конфигурации:

@Configuration
@ImportResource("classpath:beans.xml")
public class SpringBootXmlApplication implements CommandLineRunner {

    @Autowired 
    private Pojo pojo;

    public static void main(String[] args) {
        SpringApplication.run(SpringBootXmlApplication.class, args);
    }
}

В этом случае Поджо экземпляр будет введен с фасолью, определенной в бобы.xml .

3. Доступ к свойствам в конфигурациях XML

Как насчет использования свойств в файлах конфигурации XML? Допустим, мы хотим использовать имущество, объявленное в нашем application.properts файл:

sample=string loaded from properties!

Давайте обновим Поджо определение, в бобы.xml , чтобы включить выборочных свойство:


    

Далее давайте проверим, правильно ли включено свойство:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringBootXmlApplication.class)
public class SpringBootXmlApplicationIntegrationTest {

    @Autowired 
    private Pojo pojo;
    @Value("${sample}") 
    private String sample;

    @Test
    public void whenCallingGetter_thenPrintingProperty() {
        assertThat(pojo.getField())
                .isNotBlank()
                .isEqualTo(sample);
    }
}

К сожалению, этот тест провалится, потому что, по умолчанию файл конфигурации XML не может решить проблемы . Тем не менее, мы можем решить эту проблему, включив @EnableAutoConfiguration аннотация:

@Configuration
@EnableAutoConfiguration
@ImportResource("classpath:beans.xml")
public class SpringBootXmlApplication implements CommandLineRunner {
    // ...
}

Эта аннотация позволяет автоконфигурировать и попытки настроить бобы.

4. Рекомендуемый подход

Мы можем продолжать использовать файлы конфигурации XML. Но мы также можем рассмотреть вопрос о перемещении всей конфигурации JavaConfig по нескольким причинам. Во-первых, настройка бобов на Java является безопасным для , так что мы поймаем ошибки типа во время компиляции. Кроме того, Конфигурация XML может расти довольно большими , что затрудняет его обслуживание.

5. Заключение

В этой статье мы увидели, как использовать файлы конфигурации XML для определения наших бобов в приложении Spring Boot. Как всегда, исходный код примера, который мы использовали, доступен более на GitHub .