springMVC 中普通类调用注解 service/dao 方法
1.创建 SpringBeanFactoryUtils 类
package com.htkj.common;
import java.util.Map;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
* springMVC中普通类调用注解service/dao方法
* @author wpengsen
*
*/
public class SpringBeanFactoryUtils implements ApplicationContextAware {
private static ApplicationContext appCtx;
/**
* 此方法可以把ApplicationContext对象inject到当前类中作为一个静态成员变量。
*
* @param applicationContext ApplicationContext 对象.
* @throws BeansException
* @author wpengsen
*/
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
appCtx = applicationContext;
}
/**
* 获取ApplicationContext
*
* @return
* @author wpengsen
*/
public static ApplicationContext getApplicationContext() {
return appCtx;
}
/**
* 这是一个便利的方法,帮助我们快速得到一个BEAN
*
* @param beanName bean的名字
* @return 返回一个bean对象
* @author wpengsen
*/
public static Object getBean(String beanName) {
return appCtx.getBean(beanName);
}
/**
* 根据bean的id来查找对象
* @param id
* @return
*/
public static Object getBeanById(String id){
return appCtx.getBean(id);
}
/**
* 根据bean的class来查找对象
* @param c
* @return
*/
public static Object getBeanByClass(Class c){
return appCtx.getBean(c);
}
/**
* 根据bean的class来查找所有的对象(包括子类)
* @param c
* @return
*/
public static Map getBeansByClass(Class c){
return appCtx.getBeansOfType(c);
}
}
2.Spring 的配置文件 application.xml 中进行如下配置
<!-- springMVC中普通类调用注解service/dao方法 -->
<bean id="springBeanFactoryUtils" class="com.htkj.common.SpringBeanFactoryUtils"/>
3.使用
OrderMapper orderMapper = (OrderMapper)SpringBeanFactoryUtils.getBeanByClass(OrderMapper.class);
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于