161018、springMVC中普通类获取注解service方法

1、新建一个类SpringBeanFactoryUtils 实现 ApplicationContextAware 

package com.loiot.baqi.utils;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
 * -------------------------------------------
 * Title : SpringBeanFactoryUtils 
 * Description : 普通类调用Spring注解方式的Service层bean 
 * Create on : 2016年11月1日 下午3:12:25
 * Copyright (C) strongunion
 * @author RICK
 * 修改历史: 
 * 修改人 修改日期 修改描述
 * -------------------------------------------
 */
public class SpringBeanFactoryUtils implements ApplicationContextAware {
    
    private static ApplicationContext appCtx;

    /**
     * TODO: 此方法可以把ApplicationContext对象inject到当前类中作为一个静态成员变量。
     * @Auhor: RICK
     * @Date : 2016年11月1日
     */
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        appCtx = applicationContext;
    }

    /**
     * TODO: 获取ApplicationContext
     * @Auhor: RICK
     * @Date : 2016年11月1日
     */
    public static ApplicationContext getApplicationContext() {
        return appCtx;
    }

    /**
     * TODO: 这是一个便利的方法,帮助我们快速得到一个BEAN
     * @Auhor: RICK
     * @Date : 2016年11月1日
     */
    public static Object getBean(String beanName) {
        return appCtx.getBean(beanName);
    }
}

2、在spring的配置文件.xml中添加

<bean id="springBeanFactoryUtils" class="com.haier.util.SpringBeanFactoryUtils"/>

3、在普通类中使用service

ZpAccountSalaryHistoryService zpAccountSalaryHistoryService = (ZpAccountSalaryHistoryService)SpringBeanFactoryUtils.getBean("zpAccountSalaryHistoryService");
原文地址:https://www.cnblogs.com/zrbfree/p/6019920.html