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 .