Spring - 将属性文件中的日期列表注入bean属性[重复]

Posted

技术标签:

【中文标题】Spring - 将属性文件中的日期列表注入bean属性[重复]【英文标题】:Spring - Injecting a list of dates from property file to a bean property [duplicate] 【发布时间】:2012-06-29 04:29:51 【问题描述】:

可能重复:How do I specify values in a properties file so they can be retrieved using ResourceBundle#getStringArray?

我有这样的课:

public class BankHolidayCalendar 

    List<DateTime> bankHolidays;

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

还有一个属性文件

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

如何从这个属性文件中读取这些日期并注入到 bean 构造函数中?

我在这里使用joda time。

【问题讨论】:

重复:***.com/questions/226050/…,***.com/questions/6212898/… 【参考方案1】:

我将使用@Value 注释并在构造函数中创建DateTime 对象,如下所示:

public class BankHolidayCalendar 

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

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

【讨论】:

上面的示例代码可以通过使用Arrays.asList(p_bankHolidays)而不是for循环来改进。见documentation of Arrays.asList。

以上是关于Spring - 将属性文件中的日期列表注入bean属性[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot 将配置文件属性注入到一个bean中

反射-Spring管理Bean,注入Bean属性的反射机制。

Spring 新手教程 注入和自己主动装配

Spring认证-Spring注入集合

Spring注入日期到bean属性-CustomDateEditor

Spring 3.2 - 如何将 XML 中配置的 FlatFileItemWriter 注入 java 类中的参数化属性