为什么此自动装配字段始终为空?

时间:2014-09-06 10:57:05

标签: java spring repository

我有一个私有字段countryCode的实体。我想在我的实体类中添加一个方便的方法来设置国家代码:可以使用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);

    // ...
}

1 个答案:

答案 0 :(得分:1)

我猜你的实体类是由一些ORM框架实例化的,因此不会被spring实例化。所以spring不能自动自动装载字段。

如果是这样,你有这些选项

请提供更多信息。