• springMVC在普通方法中调用service方法


    SpringContextUtil类

    package com.common.util;

    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接口是必须实现的方法
    @Override
    public 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);
    }
    }

    在spring.xml中配置bean

     <bean id="SpringContextUtil" class="com.common.util.SpringContextUtil" scope="singleton"></bean> 

    在普通方法类中定义

    GdshContactPersonService personService = (GdshContactPersonService) SpringContextUtil.getApplicationContext().getBean(GdshContactPersonService.class);

    然后service方法就能在普通方法中调用了

  • 相关阅读:
    两个路由器配置静态路由只能单边 ping 通
    CVE202125646:Apache Druid远程命令执行漏洞复现
    批量修改图片的格式
    十大远程控制软件排名
    Splashtop 免费60天 大赠送
    单例设计模式
    蓄水池抽样算法/水塘采样算法
    kafka安装(单机版)
    LeetCode382链表随机节点
    LeetCode398随机数索引
  • 原文地址:https://www.cnblogs.com/lijiahong/p/5442245.html
Copyright © 2020-2023  润新知