在websocket中无法使用spring的注解注入bean对象,可能是它底层实现的时候不受spring管理,跟junit一个道理在junit测试里面也是无法使用注入bean方式注入进来,但是使用springboot开发的话,就可以了,springboot应该是管理这个websocket可以直接注入的.
不止是注入service对象,注入所有对象都得这么弄,还是第一种方法方便点,第一种和第二种的区别就是,第一种是获取到tomcat在初始化spring容器时的那个对象然后获取的bean对象,第二种是又实例化了一个spring容器获取的bean对象,所以第一种肯定性能好.
第一种,通过ContextLoader获取,直接在上面声明或者方法中获取都可以,

private Ops_chatService chat = (Ops_chatService) ContextLoader.getCurrentWebApplicationContext().getBean(“ops_chatServiceImpl”);
第二种,通过加载spirng配置文件,加载完之后再获取bean,这种性能较差,不建议使用 ,
ApplicationContext ac = new ClassPathXmlApplicationContext(“application.xml”);
Ops_chatServicee bean = (Ops_chatService)ac.getBean(“ops_chatServiceImpl”);
上面是SSM注入的方式
Springboot注入方式又不同,将要注入的service设置成静态的变量,然后在配置类中注入进去.


原文链接:https://blog.youkuaiyun.com/kxj19980524/article/details/85108047
本文探讨了在WebSocket中使用Spring注解注入Bean对象的问题及解决方法,对比了两种不同的注入方式,并介绍了SpringBoot环境下如何进行服务注入。
1457

被折叠的 条评论
为什么被折叠?



