簡體   English   中英

在Spring Boot的構造函數中是否強制使用@Autowired批注

[英]Is @Autowired annotation mandatory on constructor in Spring boot

如果我使用構造函數DI,是否必須強制使用@Autowired

@Autowired注釋對於構造函數是必需的嗎?

沒有。

Spring 4.3之后,如果您的類只有單個構造函數,則無需放置@Autowired

在Spring 4.3之前

package com.example.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class DatabaseAccountService implements AccountService {

    private final RiskAssessor riskAssessor;

    @Autowired
    public DatabaseAccountService(RiskAssessor riskAssessor) {
        this.riskAssessor = riskAssessor;
    }

    // ...

}

后:

@Service
public class DatabaseAccountService implements AccountService {

    private final RiskAssessor riskAssessor;

    public DatabaseAccountService(RiskAssessor riskAssessor) {
        this.riskAssessor = riskAssessor;
    }

    // ...

}

暫無
暫無

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

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