Java Util类中静态方法调用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/qDJ3 著作权归作者所有。请勿转载和采集!