[英]Understanding Dependency Injection - Play Java
我正在嘗試了解play框架的依賴注入工作流。
我有以下DI代碼,如果在å控制器中編寫,則可以很好地工作,但是在單獨的類中編寫時,注入配置和mailerClient不會實例化屬性。
DI是否僅在Java中的Play框架控制器中有效?
我的課程無法正常工作:
public class EmailConfig {
@Inject MailerClient mailerClient;
@Inject Configuration configuration;
/**
*
*/
public EmailConfig() {
// TODO Auto-generated constructor stub
}
public void sendEmail(String subjectConfigName, String toConfigName, String text, String from){
Email email = new Email();
email
.setSubject(this.configuration.getString(subjectConfigName))
.setFrom(from)
.addTo(this.configuration.getString(toConfigName))
.setBodyText(text);
this.mailerClient.send(email);
}
}
歡迎任何輸入。 謝謝。
控制器是自動注入的,因此您可以簡單地使用@Inject
從其注入依賴項,而分離的類既不是自動的,也不是任何自定義綁定的 。 因此,應該通過使用Play.current().injector()
(對於Play 2.5 )顯式調用注射器來進行Play.current().injector()
。 試試這個:
private Configuration configuration = Play.current().injector().instanceOf(Configuration.class);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.