系统为SpringMVC框架,在开发的过程中有一些工具类需要调用下由spring管理的service层。但是一进注入不进来,报null异常;

在尝试了网上的一系列方法后,还是没有解决。网上的解决方法主要有以下几种:

1、将工具类申明为spring组件,如@controller @compent 等,在spring自动扫描包设置中将工具类所在的包加进来;  无效

2、new一个service;  无效 而且不符合spring管理;

山穷水尽后,找到了一个另类的解决办法,代码原理还不太清楚,只是大概猜测下,有错误的地方,大家留言指正:

  1. @Component     //申明为spring组件
  2. public class TestUtils {
  3. @Autowired
  4. private TestService testService;  //添加所需service的私有成员
  5. private static TestUtils  testUtils ;  //  关键点1   静态初使化 一个工具类  这样是为了在spring初使化之前
  6. public void setTestService(TestService  testService) {
  7. this.testService = testService;
  8. }
  9. @PostConstruct     //关键二   通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
  10. public void init() {
  11. testUtils = this;
  12. testUtils.testService = this.testService;   // 初使化时将已静态化的testService实例化
  13. }

这样下面的代码中就可以通过 testUtils.testService 来调用service处理

转载于:https://www.cnblogs.com/allforone/p/4108862.html

Spring注入service为null另类解决办法 工具类 一般类 静态 非controller相关推荐

  1. MSN Messenger无法登陆的另类解决办法

    MSN Messenger无法登陆的另类解决办法 经常看到用户反映说MSN Messenger无法登陆,碰到类似0x81000370,88048820的错误码.现搜集到下述另类方法,大家可以根据自己的 ...

  2. springboot下Static变量通过@Value和set方法注入失败的问题和解决办法

    首先static变量是不能直接使用@value进行注入. 但是也不是没有办法.操作如下: 1.在这个变量的类上标上注解@Component 2.通过set方法就可以,给在set方法上使用@Value注 ...

  3. 安装mysql Install/Remove of the Service Denied!错误的解决办法

    在安装mysql过程中, 遇到Install/Remove of the Service Denied!错误的解决办法 解决办法: 打开cmd.exe程序的时候选择"用管理员身份打开&quo ...

  4. K8S仪表板Service unavailable故障的解决办法

    K8S仪表板Service unavailable故障的解决办法 (使用Rancher部署Kubernetes后访问仪表板提示Service unavailable的问题) 一.逐项检查: 1.操作系 ...

  5. 在Controller注入Service报错的解决方法

    在Controller注入Service报错的解决方法 参考文章: (1)在Controller注入Service报错的解决方法 (2)https://www.cnblogs.com/zhangxj/ ...

  6. CentOS 7 ping不通提示“Name or service not kown“的解决办法

    CentOS 7 ping不通提示"Name or service not kown"的解决办法 一.问题环境 二.查看系统ip地址 二.查看VMware网络连接 四.查看虚拟机的 ...

  7. org.activiti.engine.ActivitiIllegalArgumentException: inputStream for resource '**' is null 的解决办法

    关于这个问题,是在使用Activiti流程引擎完成项目的建设的过程中遇到的,如下图: 具体内容如下: org.activiti.engine.ActivitiIllegalArgumentExcept ...

  8. Springboot中手动new的对象无法注入交给Spring容器管理的原因及解决办法

    Springboot中Bean的注入 我们都知道,Springboot可以使用方法级别注解(@Bean)和类级别注解(@Controller.@Component.@Service等)加包扫描的方式注 ...

  9. spring入门常见的问题及解决办法

    在学习spring过程中遇见了种种不同的异常错误,这里做了一下总结,希望遇见类似错误的同学们共勉一下. 1. 错误一 Error creating bean with name 'helloServi ...

最新文章

  1. 使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的web应用...
  2. 【译】2019年开始使用Typescript
  3. centos7最小化安装后mysql_CentOS 7 最小化安装之后安装Mysql
  4. 优化大数据分析的五个小技巧
  5. 机器学习—关联规则分析之Apriori算法及其python实现
  6. 国庆在家太无聊, 用Java爬了上千张小姐姐照片...
  7. 解决idea中xml注释出现空格和顶格问题
  8. ARM指令集(数据处理指令)
  9. 团队作业8----第二次项目冲刺(Beta阶段) 第一天
  10. spring quartz 实现全局任务
  11. WAIC | 阿里龙志勇:云游戏量变进行时,与元宇宙有什么关系?
  12. FTP上传文件提示550错误原因分析。
  13. 如何给 SAP UI5 SmartField 添加 Value Help 功能试读版
  14. 接口测试 Pytest的简单示例
  15. python求列表的中位数_python中获取中位数的两种方法
  16. 探秘嫦娥一号背后的软件开发故事
  17. 《操作系统》2022年期末A卷
  18. 程序猿专用代码注释:佛祖保佑,永无BUG
  19. 停止抱怨的力量--费斯汀格法则
  20. 中文大写数字/金额转化

热门文章

  1. 配置yum源并与公网同步更新
  2. vscode同步设置扩展插件
  3. .net C# 关于使用npoi导入excel 所遇到的问题PublicKeyToken=0df73ec7942b34e1
  4. kinect+java3d+robot开发备忘录
  5. 使IIS服务器支持下载 apk/ipa 安装包
  6. Java并发编程:阻塞队列
  7. 导航,头部,CSS基础
  8. 高德拉特难题:悬赏5000美金的一道作业排序问题
  9. Android 实现图片的单点缩放、拖动、旋转
  10. “认知计算”如何有效释放数据价值