Spring注入service为null另类解决办法 工具类 一般类 静态 非controller
系统为SpringMVC框架,在开发的过程中有一些工具类需要调用下由spring管理的service层。但是一进注入不进来,报null异常;
在尝试了网上的一系列方法后,还是没有解决。网上的解决方法主要有以下几种:
1、将工具类申明为spring组件,如@controller @compent 等,在spring自动扫描包设置中将工具类所在的包加进来; 无效
2、new一个service; 无效 而且不符合spring管理;
山穷水尽后,找到了一个另类的解决办法,代码原理还不太清楚,只是大概猜测下,有错误的地方,大家留言指正:
- @Component //申明为spring组件
- public class TestUtils {
- @Autowired
- private TestService testService; //添加所需service的私有成员
- private static TestUtils testUtils ; // 关键点1 静态初使化 一个工具类 这样是为了在spring初使化之前
- public void setTestService(TestService testService) {
- this.testService = testService;
- }
- @PostConstruct //关键二 通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- public void init() {
- testUtils = this;
- testUtils.testService = this.testService; // 初使化时将已静态化的testService实例化
- }
这样下面的代码中就可以通过 testUtils.testService 来调用service处理
转载于:https://www.cnblogs.com/allforone/p/4108862.html
Spring注入service为null另类解决办法 工具类 一般类 静态 非controller相关推荐
- MSN Messenger无法登陆的另类解决办法
MSN Messenger无法登陆的另类解决办法 经常看到用户反映说MSN Messenger无法登陆,碰到类似0x81000370,88048820的错误码.现搜集到下述另类方法,大家可以根据自己的 ...
- springboot下Static变量通过@Value和set方法注入失败的问题和解决办法
首先static变量是不能直接使用@value进行注入. 但是也不是没有办法.操作如下: 1.在这个变量的类上标上注解@Component 2.通过set方法就可以,给在set方法上使用@Value注 ...
- 安装mysql Install/Remove of the Service Denied!错误的解决办法
在安装mysql过程中, 遇到Install/Remove of the Service Denied!错误的解决办法 解决办法: 打开cmd.exe程序的时候选择"用管理员身份打开&quo ...
- K8S仪表板Service unavailable故障的解决办法
K8S仪表板Service unavailable故障的解决办法 (使用Rancher部署Kubernetes后访问仪表板提示Service unavailable的问题) 一.逐项检查: 1.操作系 ...
- 在Controller注入Service报错的解决方法
在Controller注入Service报错的解决方法 参考文章: (1)在Controller注入Service报错的解决方法 (2)https://www.cnblogs.com/zhangxj/ ...
- CentOS 7 ping不通提示“Name or service not kown“的解决办法
CentOS 7 ping不通提示"Name or service not kown"的解决办法 一.问题环境 二.查看系统ip地址 二.查看VMware网络连接 四.查看虚拟机的 ...
- org.activiti.engine.ActivitiIllegalArgumentException: inputStream for resource '**' is null 的解决办法
关于这个问题,是在使用Activiti流程引擎完成项目的建设的过程中遇到的,如下图: 具体内容如下: org.activiti.engine.ActivitiIllegalArgumentExcept ...
- Springboot中手动new的对象无法注入交给Spring容器管理的原因及解决办法
Springboot中Bean的注入 我们都知道,Springboot可以使用方法级别注解(@Bean)和类级别注解(@Controller.@Component.@Service等)加包扫描的方式注 ...
- spring入门常见的问题及解决办法
在学习spring过程中遇见了种种不同的异常错误,这里做了一下总结,希望遇见类似错误的同学们共勉一下. 1. 错误一 Error creating bean with name 'helloServi ...
最新文章
- 使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的web应用...
- 【译】2019年开始使用Typescript
- centos7最小化安装后mysql_CentOS 7 最小化安装之后安装Mysql
- 优化大数据分析的五个小技巧
- 机器学习—关联规则分析之Apriori算法及其python实现
- 国庆在家太无聊, 用Java爬了上千张小姐姐照片...
- 解决idea中xml注释出现空格和顶格问题
- ARM指令集(数据处理指令)
- 团队作业8----第二次项目冲刺(Beta阶段) 第一天
- spring quartz 实现全局任务
- WAIC | 阿里龙志勇:云游戏量变进行时,与元宇宙有什么关系?
- FTP上传文件提示550错误原因分析。
- 如何给 SAP UI5 SmartField 添加 Value Help 功能试读版
- 接口测试 Pytest的简单示例
- python求列表的中位数_python中获取中位数的两种方法
- 探秘嫦娥一号背后的软件开发故事
- 《操作系统》2022年期末A卷
- 程序猿专用代码注释:佛祖保佑,永无BUG
- 停止抱怨的力量--费斯汀格法则
- 中文大写数字/金额转化