주입하여 사용자 지정 시설에서는 응용 프로그램.속성에 quarkus

0

질문

다음 가이드 여기 를 주입하는 고유한 사용자 지정하는 시설 내에서 정의된 응용 프로그램.속성입니다. 소품으로 정의 sendgrid.apikey=key 그리고 클래스입니다;

@ApplicationScoped
public class EmailConfig {

    @Inject
    @ConfigProperty(name = "sendgrid.apikey")
    String API_KEY;

    private SendGrid sendGrid;
    private Request request;

    public EmailConfig() {
        sendGrid = new SendGrid(API_KEY);
        request = new Request();
    }

때 나는 히트 첫 번째 라인에서 생성자를 기대 API_KEY 값 응용 프로그램에서입니다.properties 파일이지만,그것은 null. 나는 왜! 이와 없 @Inject 주석 btw.

어떤 아이디어가?

java properties quarkus
2021-11-22 20:37:30
1

최고의 응답

2

당신의 기대를 잘못된 것입니다. 가 있 트릭을 위해 인스턴스를 만들기 클래스의 없이 생성자를 호출하지만,그들은 일반적으로 정확하지 않게 믿을 수 있는,그래서 무엇 Quarkus 가 무엇을 할 것이라고 손으로:인스턴스를 만들고,그것을 생성자를 호출합니다. 후에 인스턴스에 존재할 수 있는 필드에 주입한.

무엇을 할 수 있는 주입하기로 생성자를 매개 변수로 사용:

@ApplicationScoped
public class EmailConfig {

    private SendGrid sendGrid;
    private Request request;

    @Inject
    public EmailConfig(@ConfigProperty(name = "sendgrid.apikey") String API_KEY) {
        sendGrid = new SendGrid(API_KEY);
        request = new Request();
    }
2021-11-22 22:02:08

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................