Бин @Autowired прибывает как ноль в методе stati c - PullRequest
0 голосов
/ 31 января 2020

у меня есть два имени класса с классом Бина и классом Util. В классе Util я хочу вызвать метод из класса Bean. Но дело в том, когда я @Autowired класс Bean в классе Util. Исключение нулевого указателя из-за метода stati c в классе Util. Вот мой код

public class Util{

@Autowired
private static BaseServiceCommonPropertiesBean baseServiceCommonPropertiesBean;

private static String PASSPHRASE = baseServiceCommonPropertiesBean.getBassURL();
System.out.print(PASSPHRASE);

}

Здесь для класса BaseServiceCommonPropertiesBean

public class BaseServiceCommonPropertiesBean {

@Value("#{baseServiceapplicationProperties['mobi.sc.travellers.amr.email.base.url']}")
    private String baseUrl;

public String getBaseUrl(){
        return baseUrl;
    }

}

Всякий раз, когда система считывает метод baseServiceCommonPropertiesBean.getPassPhrase (). Он гаснет и перестает работать. Я попробовал аннотацию @Postconstruct, прежде чем она не работает. Спасибо.

1 Ответ

0 голосов
/ 31 января 2020

Вы не можете @Autowired stati c полей, либо удалить stati c из BaseServiceCommonPropertiesBean, либо переписать свой Util, чтобы он выглядел примерно так:

@Component
public class Util{

private static BaseServiceCommonPropertiesBean baseServiceCommonPropertiesBean;

@Autowired
    public void setBaseServiceCommonPropertiesBean(BaseServiceCommonPropertiesBean baseServiceCommonPropertiesBean){
        Util.baseServiceCommonPropertiesBean = baseServiceCommonPropertiesBean;
    }

private static String PASSPHRASE = baseServiceCommonPropertiesBean.getBassURL();
System.out.print(PASSPHRASE);

}
...