Как настроить мои bean-компоненты в CDI?
Допустим, у меня есть этот код:
class JawaBotApp {
private void init( String configFilePathString ) throws JawaBotException {
ConfigBean cb = new JaxbConfigPersister(configFilePathString).load();
JawaBotApp.jawaBot = JawaBot.create( cb );
}
}
class JawaBot {
public static JawaBot create( ConfigBean cb ) throws JawaBotException{
JawaBot bot = new JawaBot();
bot.applyConfig(cb);
bot.init();
return bot;
}
}
Как бы я преобразовал это, чтобы оба могли быть бобами CDI?
Я думал о том, чтобы пометить create()
с помощью @Produces
, однако для этого нужно, чтобы он был нестатичным, и переписать его, чтобы ConfigBean был внедрен, что потребовало бы переписать JaxbConfigPersister
или создать объект-оболочку. .. Слишком много работы ни за что.
Есть ли лучший подход?