@Autowired绑定静态变量

今天在使用WebSocket的时候,遇到了一个需要Autowire静态变量的场景,即SimpMessagingTemplate 这个Bean 需要在一些静态方法中调用。方法有两种:

使用PostConstruct注解

1
2
3
4
5
6
7
8
private static SimpMessagingTemplate websocketMessager;
@Autowired
private SimpMessagingTemplate template;

@PostConstruct
public void init() {
LogService.websocketMessager = template;
}

使用Autowired注解构造函数

1
2
3
4
5
private static SimpMessagingTemplate websocketMessager;
@Autowired
public LogService(SimpMessagingTemplate websocketMessager) {
LogService.websocketMessager = websocketMessager;
}

奇怪的问题

@Autowired SimpMessagingTemplate 会出现初始化失败,相关提问:
1.Autowired websockets SimpMessagingTemplate produced null on all resources
2.Could not autowire. No beans of SimpMessagingTemplate type found

---(完)---
Yves wechat
扫一扫互相关注吧~
  • 本文作者: Yves
  • 本文标题: @Autowired绑定静态变量
  • 发布时间: 2017年06月29日 - 08:06
  • 更新时间: 2020年07月22日 - 00:07
  • 本文链接: /2017/06/29/autowired_statistic_variable/
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

扫一扫关注公众号