Quando si scrive la configurazione in un file Spring, a volte è opportuno mantenere un elenco di proprietà esterne alla configurazione Spring. Questo elenco di proprietà può essere modificato e i valori aggiornati verranno raccolti dalla configurazione Spring. Questa ricetta tecnica ti mostrerà come è fatta.
1. Nel progetto Java abilitato per Spring, creare un file di proprietà nel file src / main / risorse cartella facendo clic con il tasto destro del mouse su src / main / risorse cartella e scelta Nuovo> File. Questo file può essere denominato qualsiasi cosa purché corrisponda al nome che definirai nel file di configurazione di Spring. Per questa ricetta tecnologica la nomineremo project.properties.
2. Nel project.properties file, una nuova proprietà è definita con il nome a sinistra e il valore a destra separati da un segno di uguale (=) come mostrato nell'esempio seguente (beanType = stringa). Possiamo quindi utilizzare questa proprietà nel nostro file di configurazione di Spring.
3. Ora è necessario aprire la primavera application-context.xml per aggiungere il codice di configurazione che caricherà i valori dal file delle proprietà. Questo è configurato con la classe Spring PropertyPlaceholderConfigurer. Si noti che i project.properties del passaggio 2 sono definiti nell'elenco delle posizioni delle proprietà. Inoltre, nota il prefisso segnaposto. Questo sarà spiegato nel passaggio 4.
4. Nel application-context.xml file, creeremo una semplice definizione di bean che utilizzerà il valore dal file project.properties. Creeremo un bean chiamato projectBean e il suo tipo varia in base al valore del file project.properties. Si noti che la proprietà deve essere risolta tra il costrutto $ {}. Questo è dovuto al prefisso segnaposto che abbiamo definito nel passaggio 3. Il valore risolto assicurerà che la classe del bean sia java.lang.String, con la parte String risolta dal file delle proprietà.
Ora puoi configurare dinamicamente le proprietà per il tuo progetto Spring. ProjectBean può essere modificato dinamicamente in modo da digitare java.lang.Object con un semplice aggiornamento del file project.properties.