次のような構成ファイルがあります。
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を使用しており、すべてのemailSubjectを一度に取得してコレクションまたは配列にロードできるようにしたいと考えています。したがって、次のような SpEL 式でワイルドカード (つまり *) を含む Bean を想像しています。
@Bean(name = "emailSubjects")
public static List<String> getEmailSubjects(@Value("${reports.email.emailSubject.*}") String[] emailSubjects) {
return new ArrayList(emailSubjects);
}
ただし、SpEL は私のワイルドカードのアイデアをサポートしていません。ただし、「コレクションの選択」と「コレクションの投影」(こちらを参照) はサポートしていますが、どちらも私が探しているものではないようです。
また、一致したプロパティ キーが何であるかを知る必要もあります。そのため、文字列のコレクションではなくマップを返すものを探しているのでしょう。
問題は、これをどのように行うかです。ある種のカスタム プロパティ ハンドラを作成する必要がありますか?
私はSpring 3.2.0を使用しています