public class AppUtil implements ApplicationContextAware {
private static ApplicationContext appCtx;
/**
* 此方法可以把ApplicationContext对象inject到当前类中作为一个静态成员变量。
*
* @param applicationContext ApplicationContext 对象
* @throws org.springframework.beans.BeansException
*/
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
appCtx = applicationContext;
}
/**
* 这是一个便利的方法,帮助我们快速得到一个BEAN
*
* @param beanName bean的名字
* @return 返回一个bean对象
*/
public static <T> T getBean(String beanName) {
checkApplicationContext(appCtx);
return (T) appCtx.getBean(beanName);
}
/**
* 用于方便单元测试
* @param applicationContext
*/
private static void checkApplicationContext(ApplicationContext applicationContext) {
if (appCtx == null) {
synchronized (AppUtil.class) {
if (applicationContext == null) {
appCtx = new ClassPathXmlApplicationContext("spring/app-context.xml","spring/app-dao.xml","spring/app-action.xml");
}
}
}
}
}
SSH 根据bean的名称获得bean实体工具类
最新推荐文章于 2024-08-07 18:08:32 发布