Spring MVC中一般类使用service

来源:互联网 发布:工商信息查询网大数据 编辑:程序博客网 时间:2024/04/30 19:31

    在Spring MVC中,Controller中使用service只需使用注解@Resource就行,但是一般类(即不使用@Controller注解的类)要用到service时,可用如下方法:

     1、SpringContextUtil

    

package com.test.framework.utils;import org.springframework.beans.BeansException;import org.springframework.beans.factory.NoSuchBeanDefinitionException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;public class SpringContextUtil implements ApplicationContextAware {private static ApplicationContext applicationContext; // Spring应用上下文环境// 下面的这个方法上加了@Override注解,原因是继承ApplicationContextAware接口是必须实现的方法@Overridepublic void setApplicationContext(ApplicationContext applicationContext)throws BeansException {SpringContextUtil.applicationContext = applicationContext;}public static ApplicationContext getApplicationContext() {return applicationContext;}public static Object getBean(String name) throws BeansException {return applicationContext.getBean(name);}public static Object getBean(String name, Class requiredType)throws BeansException {return applicationContext.getBean(name, requiredType);}public static boolean containsBean(String name) {return applicationContext.containsBean(name);}public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {return applicationContext.isSingleton(name);}public static Class getType(String name)throws NoSuchBeanDefinitionException {return applicationContext.getType(name);}public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {return applicationContext.getAliases(name);}}

       2、Spring的配置文件application.xml中进行如下配置

    

<bean id="SpringContextUtil" class="com.test.framework.utils.SpringContextUtil"  scope="singleton"/>


        3、使用
       

DictService dictService = (DictService) SpringContextUtil.getBean("dictService");List<Dict> dict = (List<Dict>) dictService.findByHQL(hql);
0 0
原创粉丝点击