1

我有一个看起来像这样的配置文件:

reports.email.emailSubject.REPORT1=Report1 subject
reports.email.emailToRecipients.REPORT1=recipient1@email.com
reports.email.emailSubject.REPORT2=Report2 subject
reports.email.emailToRecipients.REPORT2=recipient2@email.com

我正在使用 Spring,并且希望能够一次性获取所有 emailSubjects 并将它们加载到集合或数组中。因此,我在 SpEL 表达式中想象一个带有通配符(即 *)的 bean,如下所示:

@Bean(name = "emailSubjects")
public static List<String> getEmailSubjects(@Value("${reports.email.emailSubject.*}") String[] emailSubjects) {
    return new ArrayList(emailSubjects);
}

但是,SpEL 不支持我的通配符想法。但是,它确实支持“收藏选择”和“收藏投影”(请参阅​​此处),但这些似乎都不是我想要的。

我还需要知道匹配的属性键是什么——所以我可能正在寻找返回 Map 而不是字符串集合的东西。

所以问题是,我该怎么做。我是否需要编写某种自定义属性处理程序?

我正在使用 Spring 3.2.0

4

0 回答 0