Javaのコンストラクタ
@Component
public class Test {
// MessageSourceインスタンス
private static MessageSource messageSource;
// MessageSource DIインスタンス
@Autowired
private MessageSource diMessageSource;
private static Locale locale = new Locale("ja_JP");
// 初期化
@PostConstruct
public void init() {
MessageUtils.messageSource = diMessageSource;
}
// プロパティから文字列読み出し
public static String getMessage(String id) {
return messageSource.getMessage(id, null, locale);
}
こんな感じのクラスを
jp.co.TestProject(プロジェクト名).testこのパッケージ配下に置いていた場合は
初期化処理が呼ばれた後に実施されていたのですが
jp.co配下に移動させると
なぜかプロパティ文字列読み出しが先に呼ばれてしまいます。
コンストラクタが先に呼ばれるものと思っていたのですが異なるのでしょうか?