spring注入static属性

2019-09-29  本文已影响0人  南岩飞雪

问题

代码里又一些工具类,注入了一些bean;结果引用这个工具类也得是用bean注入的方式;写起来很难受,想直接调用静态方法省事

解决

@Component
public class LogRobotHelper {
    private static String env;
    private static HttpTemplate httpTemplate;
    
    // 注入配置文件属性
    @Value("${environment.env}")
    public void setEnv(String env) {
        LogRobotHelper.env = env;
    }

    // 注入bean
    @Resource
    public void setHttpTemplate(HttpTemplate httpTemplate) {
        LogRobotHelper.httpTemplate = httpTemplate;
    }
@Component
public class LogRobotHelper {
    // 注入到临时的bean
    @Autowired
    private HttpTemplate httpTemplateTmp;
    // static 属性变量
    private static HttpTemplate httpTemplate;

    @PostConstruct
    public void init() {
        // 临时的bean引用 赋给 static 属性
        LogRobotHelper.httpTemplate = httpTemplateTmp;
    }
上一篇下一篇

猜你喜欢

热点阅读