- 首先该类必须用@Component修饰变为bean
- 创建一个用public修饰定义静态的本体类
- 创建一个用@PostConstruct修饰的方法
- 调用注解对象的时候用上面定义的静态类点出来
代码如下,这是我在webscoket搭建的过程中遇到的问题,因为要在webscoket类中直接调用service层操作数据库。
/**
* @Author zhangxch
* @create 2019/8/14 13:39
*/
@ServerEndpoint("/WSwebsocket")
@Component **①**
public class WebScoketServer {
@Autowired
private CardService cardService;
@Autowired
private InformationService informationService;
public static WebScoketServer webScoketServer; **②**
@PostConstruct **③**
public void init(){
webScoketServer = this;
}
@OnMessage
public void onMessage(String message, Session session) {
**④**
webScoketServer.cardService.insertData(messageMap);
}
}