XML által definiált bab a tavaszi indításkor
1. Bemutatkozás
A 3.0 tavasz előtt az XML volt az egyetlen módja a bab meghatározásának és konfigurálásának. Bemutatták a 3.0 tavaszt JavaConfig, amely lehetővé teszi számunkra a bab konfigurálását Java osztályok használatával. Az XML konfigurációs fájlokat azonban ma is használják.
Ebben az oktatóanyagban megvitatjuk hogyan lehet integrálni az XML-konfigurációkat a Spring Boot-ba.
2. A @ImportResource Megjegyzés
A @ImportResource az annotáció lehetővé teszi számunkra, hogy egy vagy több babdefiníciót tartalmazó erőforrást importáljunk.
Tegyük fel, hogy van egy bab.xml fájl a bab meghatározásával:
A Spring Boot alkalmazásban való használatához megtehetjük használja a @ImportResource annotáció, megmondva, hogy hol találja a konfigurációs fájlt:
@Configuration @ImportResource ("classpath: beans.xml") public class SpringBootXmlApplication megvalósítja a CommandLineRunner {@Autowired privát Pojo pojo; public static void main (String [] args) {SpringApplication.run (SpringBootXmlApplication.class, args); }}
Ebben az esetben a Pojo példányban beadják a bab.xml.
3. A tulajdonságok elérése XML-konfigurációkban
Mi a helyzet a tulajdonságok használatával XML konfigurációs fájlokban? Tegyük fel, hogy a tulajdonunkban bejelentett ingatlant akarjuk használni alkalmazás.tulajdonságok fájl:
minta = karakterlánc a tulajdonságokból betöltve!
Frissítsük a Pojo meghatározás, in bab.xml, hogy a minta ingatlan:
Ezután ellenőrizzük, hogy a tulajdonság megfelelően szerepel-e:
@RunWith (SpringRunner.class) @SpringBootTest (class = SpringBootXmlApplication.class) nyilvános osztály SpringBootXmlApplicationIntegrationTest {@Autowired private Pojo pojo; @Value ("$ {sample}") privát karakterlánc minta; @Test public void whenCallingGetter_thenPrintingProperty () {assertThat (pojo.getField ()) .isNotBlank () .isEqualTo (minta); }}
Sajnos ez a teszt nem fog sikerülni, alapértelmezés szerint az XML konfigurációs fájl nem tudja megoldani a helyőrzőket. Ezt azonban megoldhatjuk a @EnableAutoConfiguration kommentár:
@Configuration @EnableAutoConfiguration @ImportResource ("classpath: beans.xml") public class SpringBootXmlApplication implementálja a CommandLineRunner {// ...}
Ez a megjegyzés lehetővé teszi az automatikus konfigurálást, és megkísérli konfigurálni a babot.
4. Ajánlott megközelítés
Folytathatjuk az XML konfigurációs fájlok használatát. De megfontolhatjuk az összes konfiguráció áthelyezését is JavaConfig pár okból. Első, a bab konfigurálása a Java-ban típusbiztonságos, így a fordításkor elkapjuk a típushibákat. Is, Az XML konfiguráció elég nagyra nőhet, ami megnehezíti a karbantartást.
5. Következtetés
Ebben a cikkben azt láttuk, hogyan használhatjuk az XML konfigurációs fájlokat a babunk meghatározásához a Spring Boot alkalmazásban. Mint mindig, az általunk használt példa forráskódja elérhető a GitHubon.