私はすでにCDI @Inject
を使用して、一部のクラスでステートレス サービスを取得しています。
次の例のように、ドメイン オブジェクトを注入することも理にかなっているのだろうかと思います。
class UserSettings;
class User {
//@Inject
private UserSetttings settings = new UserSettings();
}
ユーザーは常に、後で変更できるいくつかのデフォルト設定を添付する必要があります。ここで CDI を使用しますか、それとも新しいオブジェクトを手動で作成することに固執しますか?
または、より一般的に言えば、一般的にどこで CDI を使用する意味があるのでしょうか? そして、どこではないのですか?
更新プロデューサー:
class Preferences {
@Produces @DefaultSettings
public UserSettings getDefaultSettings() {
UserSettings settings = new UserSettings();
//configure default
return settings;
}
}
class User {
@Inject @DefaultSettings
private UserSettings settings;
}