java 如何在util类的static方法里调用mapper
要在util类的static方法中调用mapper,需要先获取到mapper对象。以下是一种常见的方法:
- 在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();
}
}
- 在Spring配置文件中配置
MyUtilClass的bean,并设置setApplicationContext方法的属性值为ApplicationContext。
<bean id="myUtilClass" class="com.example.MyUtilClass">
<property name="applicationContext" ref="applicationContext" />
</bean>
- 在Spring配置文件中配置
Mapper的bean,以便可以通过context.getBean(MyMapper.class)获取到mapper对象。
<bean id="myMapper" class="com.example.MyMapper" />
- 程序启动时,将ApplicationContext对象传递给MyUtilClass。
public class MyApp {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-config.xml");
MyUtilClass.setApplicationContext(ctx);
}
}
通过以上步骤,就可以在util类的static方法中调用mapper的方法了
原文地址: https://www.cveoy.top/t/topic/iXJ9 著作权归作者所有。请勿转载和采集!