我已經在使用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;
}
所以,因爲我是生產者新手:我更新了我的第一篇文章 - 這是你會在這種情況下建議嗎?或者,如果不是,你能舉一個例子嗎? – membersound
是的,這是一種方法。 '@ DefaultSettings'沒有登錄?如果用戶有自定義設置,會不會有另一種情況? –