Questa mini guida illustrerà i vari modi in cui è possibile recuperare risorse varie che sono presenti in spring.

Supponendo che il nostro classpath abbia la seguente gerarchia: src > main > resources >META-INF > spring, come definito all’interno dei progetti creati con ROO 1.0.2.

Recuperare l’applicationContext.xml

private static final String urlApplicationContext = “META-INF//spring//applicationContext.xml”;

oppure

private static final String urlApplicationContext = “classpath:META-INF/spring/applicationContext.xml”;

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(urlApplicationContext);

In questo modo ottengo un oggetto ClassPathXmlApplicationContext che ci permette di gestire gli elementi che sono stati definiti all’interno dell’applicationContext.xml, oltre ad avere la possibilità di gestione del context di spring.

Recuperare un bean dall’applicationContext.xml

Semplicemente si dovrà instanziare il context descritto all’inizio e richiamare il bean tramite il suo ID:

Person p = (Person) context.getBean(“Id del Bean”);

Recuperare un file dal classpath

Per recuperare un file che sappiamo sia presente all’interno del nostro classpath basterà fare.

private static final String urlClasspathSpringOXM = “classpath:META-INF//spring//”;
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(urlApplicationContext);
Resource resource = context.getResource(urlClasspathSpringOXM+filename);
Il metodo getResource, restituisce l’oggetto Resource relativo al file a cui stiamo puntando. Ed effettuare una serie di operazioni su di esso come ad esempio la richiesta di informazioni sul suo nome, o sulla possibilità di poterlo leggere, oppure richiamare il metodo getFile() che restituisce un oggetto di tipo FILE, che ci permette di lavorare sul file.
Annunci