gpt4 book ai didi

java - 为什么这个 Autowiring 字段总是为空?

转载 作者:行者123 更新时间:2023-12-01 12:34:32 25 4
gpt4 key购买 nike

我有一个带有私有(private)字段countryCode的实体。我想在实体类中添加一个方便的方法来设置国家/地区代码:可以使用 CountryCode 对象或字符串设置国家/地区代码。

如果国家代码是通过字符串设置的,则需要一个国家代码存储库。但是,我无法让 Spring 初始化存储库字段。即使我将 @Component@Scope("prototype") 放在我的实体上...

我错过了什么?

private CountryCode countryCode;

public void setCountryCode(String code) {
this.countryCode = getByCode(code);
}

@Autowired
@Transient
private CountryCodeRepository countryCodeRepository;

private CountryCode getByCode(String code) {
if (code == null) {
throw new NullPointerException("The country code cannot be null.");
}

// countryCodeRepository is NULL below...
CountryCode finalCC = countryCodeRepository.findByAlpha2OrAlpha3(code);

// ...
}

最佳答案

我猜你的实体类是由某个 ORM 框架实例化的,因此不是由 spring 实例化的。所以 spring 无法 Autowiring 字段。

如果是这样,您有这些选择

请提供更多信息。

关于java - 为什么这个 Autowiring 字段总是为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25699528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com