当前位置: 首页 > article >正文

util层注入service

简介背景

在 Java 或 Spring 框架中,util 层通常用于存放工具类或辅助类,而 service 层则通常包含核心业务逻辑。在一些情况下,可能需要将 service 层注入到 util 层中,以便在工具类中调用某些业务逻辑。虽然这种做法并不是最常见的设计模式,但可以通过一些技巧来实现。

  1. 通过 ApplicationContext 获取
    如果你坚持不想改变 Util 类的结构(例如保留静态方法),你可以通过 Spring 的 ApplicationContext 动态获取 Service 实例。
@Component
public class MyUtil {

    private static ApplicationContext applicationContext;

    @Autowired
    public void setApplicationContext(ApplicationContext applicationContext) {
        MyUtil.applicationContext = applicationContext;
    }

    public static String useService() {
        MyService myService = applicationContext.getBean(MyService.class);
        return myService.getServiceData();
    }
}


http://www.kler.cn/a/505868.html

相关文章:

  • [操作系统] 深入理解约翰·冯·诺伊曼体系
  • OpenCV实现Kuwahara滤波
  • Docker的入门
  • 从玩具到工业控制--51单片机的跨界传奇【2】
  • 单片机的原理及其应用:从入门到进阶的全方位指南
  • Vue3使用vue-count-to数字滚动模块报错解决方案
  • RabbitMQ-交换机
  • Flink CDC 在阿里云实时计算Flink版的云上实践
  • [Qt]常用控件介绍-多元素控件-QListWidget、QTableWidget、QQTreeWidget
  • 再见IT!
  • [每周一更]-(第131期):Go并发协程总结篇
  • 如何在JS里进行深拷贝
  • K8S 节点选择器
  • Luggage Lock( The 2021 ICPC Asia Shenyang Regional Contest )
  • 《鸿蒙Next微内核:解锁人工智能决策树并行计算的加速密码》
  • (蓝桥杯)使用差分数组和前缀和解决区间更新问题——倒水
  • 9.7 visual studio 搭建yolov10的onnx的预测(c++)
  • 解锁企业数字化转型新力量:OpenCoze(开源扣子)
  • 备战蓝桥杯 队列和queue详解
  • git操作(bitbucket仓库)
  • 数据库(MySQL)练习
  • Android Room 持久化库的介绍及使用方法
  • 力扣经典题目之120.三角形最小路径和
  • PHP智慧小区物业管理小程序
  • MSSQL(Microsoft SQL Server)和 SQL(Structured Query Language)之间的区别
  • 计算机视觉与深度学习:使用深度学习训练基于视觉的车辆检测器(MATLAB源码-Faster R-CNN)