Grah definiran XML-om u proljetnom pokretanju
1. Uvod
Prije Proljeća 3.0, XML je bio jedini način definiranja i konfiguriranja graha. Predstavljeno proljeće 3.0 JavaConfig, omogućujući nam da konfiguriramo grah pomoću Java klasa. Međutim, XML konfiguracijske datoteke koriste se i danas.
U ovom uputstvu ćemo razgovarati kako integrirati XML konfiguracije u Spring Boot.
2. The @ImportResource Bilješka
The @ImportResource napomena nam omogućuje uvoz jednog ili više resursa koji sadrže definicije graha.
Recimo da imamo a grah.xml datoteka s definicijom graha:
Možemo ga koristiti u aplikaciji Spring Boot koristiti @ImportResource bilješka, govoreći mu gdje pronaći konfiguracijsku datoteku:
@Configuration @ImportResource ("classpath: beans.xml") javna klasa SpringBootXmlApplication implementira CommandLineRunner {@Autowired private Pojo pojo; javna statička void glavna (String [] args) {SpringApplication.run (SpringBootXmlApplication.class, args); }}
U ovom slučaju, Pojo Primjerice, ubrizgat će se grah definiran u grah.xml.
3. Pristup svojstvima u XML konfiguracijama
Što je s korištenjem svojstava u XML konfiguracijskim datotekama? Recimo da želimo koristiti svojstvo prijavljeno u našem primjena.svojstva datoteka:
sample = string učitan iz svojstava!
Ažurirajmo Pojo definicija, u grah.xml, uključiti uzorak svojstvo:
Dalje, provjerimo je li svojstvo pravilno uključeno:
@RunWith (SpringRunner.class) @SpringBootTest (classes = SpringBootXmlApplication.class) javna klasa SpringBootXmlApplicationIntegrationTest {@Autowired private Pojo pojo; @Value ("$ {sample}") uzorak privatnog niza; @Test public void whenCallingGetter_thenPrintingProperty () {assertThat (pojo.getField ()) .isNotBlank () .isEqualTo (sample); }}
Nažalost, ovaj test neće uspjeti jer, prema zadanim postavkama XML konfiguracijska datoteka ne može razriješiti rezervirana mjesta. Međutim, to možemo riješiti uključivanjem @EnableAutoConfiguration napomena:
@Configuration @EnableAutoConfiguration @ImportResource ("classpath: beans.xml") javna klasa SpringBootXmlApplication implementira CommandLineRunner {// ...}
Ova bilješka omogućuje automatsku konfiguraciju i pokušava konfigurirati grah.
4. Preporučeni pristup
Možemo i dalje koristiti XML konfiguracijske datoteke. Ali možemo razmisliti i o premještanju svih konfiguracija u JavaConfig iz nekoliko razloga. Prvi, konfiguriranje graha u Javi sigurno je za tip, pa ćemo pogreške tipa uhvatiti u vrijeme sastavljanja. Također, XML konfiguracija može postati prilično velika, što otežava održavanje.
5. Zaključak
U ovom smo članku vidjeli kako koristiti XML konfiguracijske datoteke za definiranje graha u aplikaciji Spring Boot. Kao i uvijek, izvorni kod primjera koji smo koristili dostupan je na GitHubu.