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 .