簡體   English   中英

自動接線無法將服務加載到類中

[英]Autowired failing to load service into class

在服務上運行時,我收到了空指針異常,因為服務沒有自動裝配到類中。 我已經實現了該類的存儲庫和服務,與該應用程序中的其他存儲庫和服務完全相同,並且我之前從未遇到過此問題。 實際上,該類確實會警告有關Autowire的問題,但我不確定如何解決這些問題:

Autowired members must be defined in valid spring bean

同樣,它的設置與其他類相同,我沒有這個問題。 在服務類中,它抱怨無法將存儲庫自動連接到構造函數中,因為存在多個相同類型的bean。 我的其他服務類別也顯示此警告,但在自動連接到類別並進行操作時沒有問題。 請在下面的定義中尋求其他有用的信息。

//TransactionCategoryRepository.java
@Repository("transactionCategoryRepository")
public interface TransactionCategoryRepository extends 
CrudRepository<TransactionCategory, Integer> {
}

-

//TransactionCategoryService.java
@Service("transactionCategoryService")
public class TransactionCategoryService {

private TransactionCategoryRepository transactionCategoryRepository;

@Autowired
public TransactionCategoryService(TransactionCategoryRepository repository) {
    this.transactionCategoryRepository = repository;
}

public void saveTransactionCategory(TransactionCategory transactionCategory) {
    transactionCategoryRepository.save(transactionCategory);
}
}

-

//Utilities.java
public class PlaidUtilities {

private Logger logger = 
LoggerFactory.getLogger(PlaidUtilities.class.getSimpleName());

private PlaidClient mPlaidClient;

@Autowired
TransactionCategoryService mTransactionCategoryService;
...

多重豆警告扔在respository中TransactionCategoryService.java和自動裝配Autowired定義警告在Utilities.java拋出。 mTransactionCategoryService上進行操作時,稍后在Utilities.java中會出現打破空指針異常錯誤。

除非需要它們,否則請從@Service@Repository批注中刪除名稱。 我發現它使事情變得尷尬。

另一件事可能是錯誤的是您沒有在掃描那些軟件包。 您可以通過將啟動應用程序屬性更改為@SpringBootApplication(scanBasePackages={"your.package.here"})在主類中進行更改。

在這里看看這個問題 ,他們哪里詳細說明

暫無
暫無

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

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