要在util类的static方法中调用mapper,需要先获取到mapper对象。以下是一种常见的方法:

  1. 在util类中定义一个静态的'ApplicationContext'对象,用于获取Spring容器上下文。
public class MyUtilClass {
    private static ApplicationContext context;

    // 初始化ApplicationContext
    public static void setApplicationContext(ApplicationContext ctx) {
        context = ctx;
    }

    // 在static方法中获取mapper对象
    public static void myStaticMethod() {
        MyMapper mapper = context.getBean(MyMapper.class);
        // 调用mapper的方法
        mapper.someMethod();
    }
}
  1. 在Spring配置文件中配置'MyUtilClass'的bean,并设置'setApplicationContext'方法的属性值为'ApplicationContext'。
<bean id="myUtilClass" class="com.example.MyUtilClass">
    <property name="applicationContext" ref="applicationContext" />
</bean>
  1. 在Spring配置文件中配置'Mapper'的bean,以便可以通过'context.getBean(MyMapper.class)'获取到mapper对象。
<bean id="myMapper" class="com.example.MyMapper" />
  1. 程序启动时,将ApplicationContext对象传递给MyUtilClass。
public class MyApp {
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-config.xml");
        MyUtilClass.setApplicationContext(ctx);
    }
}

通过以上步骤,就可以在util类的static方法中调用mapper的方法了。

Java Util类中静态方法调用Mapper最佳实践

原文地址: https://www.cveoy.top/t/topic/qDJ3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录