java自动连线无法将服务加载到类中
在我的服务上操作时,我收到一个空指针异常,因为我的服务没有自动连接到类中。我已经实现了这个类的存储库和服务,与这个应用程序中的其他存储库和服务完全相同,我以前没有遇到过这个问题。事实上,该类确实警告了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;
...
TransactionCategoryService中的respository
会引发多个bean警告。java和Autowired定义警告在实用程序中抛出。JAVA中断空指针异常错误稍后在实用程序中发生。在mTransactionCategoryService
上操作时使用java
# 1 楼答案
除非您需要它们,否则从
@Service
和@Repository
注释中去掉名称。我发现这只会让事情变得尴尬另一个可能是错误的,你没有扫描那些包。您可以通过将引导应用程序属性更改为
@SpringBootApplication(scanBasePackages={"your.package.here"})
来在主类中更改该属性看一看here at this question他们在哪里详述了它