我已经在使用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;
}