2012-06-27 3 views
0

Possible en double:
How do I specify values in a properties file so they can be retrieved using ResourceBundle#getStringArray?Spring - Injecter une liste de dates à partir du fichier de propriété à une propriété de haricot

J'ai une classe comme ceci:

public class BankHolidayCalendar { 

    List<DateTime> bankHolidays; 

    public BankHolidayCalendar(final List<DateTime> p_bankHolidays) { 
     bankHolidays = p_bankHolidays; 
    } 
} 

et un fichier de propriétés

# holidays.properties 
holidayDates=01-01-2012, 13-02-2012, 22-04-2012 

Comment puis-je lire ces dates à partir de ce fichier de propriétés et les injecter dans le constructeur du bean?

J'utilise le temps joda ici.

+1

Doublons: http://stackoverflow.com/questions/226050/how-do-i-specify-values -in-a-properties-file-so-they-peut-être-récupéré-using-reso, http://stackoverflow.com/questions/6212898/spring-properties-file-get-element-as-an-array ? lq = 1 – Xaerxess

Répondre

3

J'utiliser l'annotation @Value et créer l'objet DateTime dans le constructeur comme ceci:

public class BankHolidayCalendar { 

    List<DateTime> bankHolidays = new ArrayList<DateTime>(); 

    public BankHolidayCalendar(@Value("holidayDates") String[] p_bankHolidays) { 
     for (String date : p_bankHolidays) { 
      bankHolidays.add(...); 
     } 
    } 
} 
+0

L'exemple de code ci-dessus peut être amélioré en utilisant 'Arrays.asList (p_bankHolidays)' à la place de la boucle 'for'. Voir [documentation de Arrays.asList] (http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#asList (T ...)). – rmoestl

Questions connexes