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

本文介绍了一个实用的工具类SpringBeanFactoryUtils,该类实现了ApplicationContextAware接口,用于普通类中调用Spring管理的Service层bean。通过在Spring配置文件中注册此工具类,可以在普通类中轻松获取并使用Spring管理的bean。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值