要在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类的static方法里调用mapper

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

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