Lösning av variabler från en fastighetsfil under våren

När du skriver konfigurationen i en Spring-fil, är det ibland önskvärt att behålla en lista över egenskaper som är externa till vårkonfigurationen. Denna lista med egenskaper kan redigeras och de uppdaterade värdena hämtas av vårkonfigurationen. Detta tech-recept kommer att visa dig hur det görs.

1.In din vår aktiverade Java-projektet, skapa en egenskapsfil i src / main / resurser mapp genom att högerklicka på src / main / resurser mapp och välja Ny> Fil. Den här filen kan namnges så länge som den motsvarar det namn du definierar i vårkonfigurationsfilen. För detta tech-recept kommer vi att namnge det project.properties.

2.In project.properties fil, en ny egenskap definieras med namnet till vänster och värdet till höger åtskilt med ett likartat tecken (=) enligt exempel nedan (beanType = String). Vi kan sedan använda den här egenskapen i vårkonfigurationsfilen.

3. Nu är det nödvändigt att öppna din vår applikations context.xml för att lägga till konfigurationskoden som kommer att ladda värdena från egenskapsfilen. Detta är konfigurerat med klassen Spring PropertyPlaceholderConfigurer. Observera att projektet.properties från steg 2 är definierat i egenskapslistan. Observera också platshållarens prefix. Detta kommer att förklaras i steg 4.

4.In applikations context.xml fil kommer vi att skapa en enkel böndefinition som kommer att använda värdet från filen project.properties. Vi kommer att skapa en böne som heter projectBean och dess typ varierar beroende på värdet från filen project.properties. Observera att egenskapen måste lösas mellan konstruktionen $ {}. Detta beror på prefixet för platshållare som vi definierade i steg 3. Det upplösta värdet säkerställer att bönans klass är java.lang.String, med strängdelen löser från egenskapsfilen.

Du kan nu dynamiskt konfigurera egenskaper för ditt vårprojekt. ProjectBean kan ändras dynamiskt för att ha typ java.lang.Object med en enkel uppdatering av filen project.properties.