簡體   English   中英

ZZZZ類型與限定符@Default的不滿意依賴關系

[英]Unsatisfied dependencies for type ZZZZ with qualifiers @Default

我有以下給出的豆子。

@Singleton
@DependsOn("DefaultEmailService")
public class CustomerService implements UserHandlingService {

    private DefaultEmailService mailService;

    @Inject
    public CustomerService(DefaultEmailService mailService) {       
        this.mailService = mailService;
    }
}


@Singleton
@Startup
public class DefaultEmailService implements EmailService {

    public DefaultEmailService() {  
    }
}

我得到的錯誤就像

Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type DefaultEmailService with qualifiers @Default
  at injection point [BackedAnnotatedParameter] Parameter 1 of [BackedAnnotatedConstructor] @Inject public com.project.service.CustomerService(DefaultEmailService)
  at com.project.service.CustomerService.<init>(CustomerService.java:0)

我做錯了什么。

問題是@Singleton注釋,即來自javax.ejb而不是javax.inject 使用ejb和定義接口,您的bean在CDI上下文中注冊為接口,而不是實現,更改您的代碼:

@Inject
public CustomerService(EmailService mailService) {
    this.mailService = (DefaultEmailService) mailService;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM