封装SpringContext工具类SpringContextUtil

【代码整洁之道】JAVA设计模式——简单工厂模式实战应用思路(含实现代码)! 简单工厂模式的实际应用思路 阅读详情

实现自己的SpringContext工具类

  • 记录一下自己封装的SpringContextUtil工具类
package com.xiaoju.automarket.fate.data.engine.core.service.impl.utils;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

import java.util.Map;

/**
 * @author huki
 * date 2020-06-15
 */
@Component
public class SpringContextUtil implements ApplicationContextAware {

    private static ApplicationContext context = null;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        context = applicationContext;
    }

    /**
     * 获取ApplicationContext容器
     *
     * @return
     */
    public static ApplicationContext getApplicationContext() {
        return context;
    }

    /**
     * 获取spring.profiles.active
     *
     * @return spring.profiles.active数组
     */
    public static String[] getActiveProfile() {
        return context.getEnvironment().getActiveProfiles();
    }

    /**
     * 获取配置文件配置项的值
     *
     * @param key 配置项key
     * @return
     */
    public static String getEnvironmentProperty(String key) {
        return getApplicationContext().getEnvironment().getProperty(key);
    }


    /**
     * 根据beanName获取Bean
     *
     * @param name beanName
     * @return
     */
    public static Object getBean(String name) {
        Object o = null;
        try {
            o = getApplicationContext().getBean(name);
        } catch (NoSuchBeanDefinitionException e) {
            return null;
        }
        return o;
    }

    /**
     * 通过class获取bean
     *
     * @param clazz class
     * @param <T>   返回的类型
     * @return
     */
    public static <T> T getBean(Class<T> clazz) {
        try {
            return getApplicationContext().getBean(clazz);
        } catch (NoSuchBeanDefinitionException e) {
            return null;
        }
    }

    /**
     * 通过name,以及Clazz返回指定的Bean
     *
     * @param name  beanName
     * @param clazz class类型
     * @param <T>   返回的类型
     * @return
     */
    public static <T> T getBean(String name, Class<T> clazz) {
        try {
            return getApplicationContext().getBean(name, clazz);
        } catch (NoSuchBeanDefinitionException e) {
            return null;
        }
    }

    /**
     * 通过name获取 Bean.
     * 可能返回多个
     *
     * @param clazz
     * @param <T>
     * @return
     */
    public static <T> Map<String, T> getBeansOfType(Class<T> clazz) {
        try {
            return getApplicationContext().getBeansOfType(clazz);
        } catch (NoSuchBeanDefinitionException e) {
            return null;
        }
    }
}

一分钟学会MATLAB-数据清洗(含完整代码) 数据清洗是数据分析过程中的一个重要步骤,目的是提高数据的质量,以便进行更有效的分析。% 删除超出阈值的行。% 用线性插值填充缺失值。% 删除包含缺失值的行。% 找到缺失值的位置。% 可视化数据,识别异常值。缺失值是数据清洗中常见的问题。通过以上步骤,你可以有效地清洗数据,使其准备好进行后续的分析和建模。 阅读详情

相关推荐

TOR获取和网桥设置教程

若希望避免通过个人浏览器IP地址进行访问操作,则可采用如下配置方式。实际上存在多种替代性解决方案可供选择

3373

神奇的SpringContextUtil

不大不小算是个知识点吧

qq_34787180的博客 4577

YOLOv8改进策略【注意力机制篇】| CVPRW-2024 分层互补注意力混合层 H-RAMi 针对低质量图像的特征提取模块

许多证据表明层次化网络对图像恢复(IR)任务通常不太有效,因为IR的目标是逐个预测像素值(密集预测),而缩小特征图会丢失重要的像素级信息。然而,层次化结构有降低时间复杂度以及学习语义级和像素级特征表示的优点。为了弥补缺点并利用优点,设计了H - RAMi层。

Limiiiing的博客 353

自定义的SpringContextUtil继承ApplicationContextAware

自定义的SpringContextUtil继承ApplicationContextAware

qq_41831842的博客 1221

SpringContextUtil获取bean方法

Spring环境获取Spring的Bean;所以使用SpringContextUtil来进行获取bean方法。

Ls66666Ls的博客 3509

java技术--SpringContextUtil类的作用

企业级开发过程中,一般使用Spring注解开发。使用注解获取Spring容器管理的类(这些类都必须是Spring容器中的类)! 开发过程中,有时会遇到需要在普通类中注入spring管理的单例bean。直接注入是注入不进去的,这是就需要创建一个工具类来获取Spring容器管理的bean。 举例:普通类User.class public class User{ ...

qq591009234的博客 8254

通过SpringContextUtil获取spring环境上下文

1.先写个工具类,实现ApplicationContextAware接口,然后他会把ApplicationContext对象传给你,在setApplicationContext方法里已经把ApplicationContext传给你了,然后去完成初始化。

wendrewshay 5042

SpringAppContextUtil工具类获取ApplicationContext报空指针异常

今天在编写测试代码的时候使用SpringAppContextUtil工具类获取Spring应用上下文环境对象的时候报空指针异常。 后来查资料发现工具类中一开始是声明了一个ApplicationContext类型的静态变量,但是由于静态变量是不能被Spring容器管理的,所以直接静态调用是无法掉用到上下文对象的。由于工具类是在jar包中的所以无法更改,所以自己写了仿写了一个工具类。先去除s...

huangpf_vcx 1万+

SpringContextUtil spring上下文获取工具类

package com.midea.biz; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; impor...

weixin_30924087的博客 432

springboot获取ApplicationContext的几种方式

工具类 package com.yzj.learn.common.utils; import org.springframework.context.ApplicationContext; public class SpringContextUtil { private static ApplicationContext applicationContext; pub...

a807719447的专栏 4510

Spring获取Application Context以及bean方法

如何在Spring中获取Application Context进而获取已加载的bean呢? 常见的方式是实现ApplicationContextAware接口,参考代码如下所示: import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAwa

乐点的博客 802

Spring启动时,将SpringContext设置到Util中(SpringContextUtil

Spring应用开发中,为简化代码或者在静态方法中获取Spring应用的上下文,需要把SpringContext设置到类属性上。

非真非假,非零非一 758

主动获取spring容器工具类SpringContextUtil

/** * 获取spring容器,以访问容器中定义的其他bean */ @Component public class SpringContextUtil implements ApplicationContextAware { // Spring应用上下文环境 @Autowired private ApplicationContext applicationCont

飞翔中的菜鸟 8868

SpringContextUtil 获取IOC容器工具类

获取容器中的Bean。SpringContextUtil工具类

输入技术、输出想法 611

Spring学习笔记02-SpringContextUtil工具

SpringContextUtil工具

weixin_55157621的博客 447

获取SpringMVC上下文bean实例-SpringContextUtil

项目中,用到了SpringMVC框架。在一个监听中,需要调用server层,并且通过注入的方式,实例化server层。 网上找了很多,提到利用ApplicationContextAware来获取SpringMVC上下文生成的server层。 例如下: package com.xsp.onlineshop.web.comm; import org.springframework.beans.

sp_xiong的博客 1万+

Spring获取注入Bean

package com.clicks.config; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; /** * @author

weixin_48314739的博客 972

SpringContextUtil工具类

通过实现接口,在 Spring 容器初始化时主动注入上下文对象(),从而让非 Spring 管理的类(如普通工具类、静态方法)也能便捷地获取 Spring 容器中的 Bean,解决了 “静态方法依赖 Spring Bean” 的常见问题。

北执南念的博客 796

获取spring的ApplicationContext几种方式

常用的5种获取spring 中bean的方式总结: 方法一:在初始化时保存ApplicationContext对象 代码: ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml"); ac.getBean("beanId"); 说明:这种方式适用于采用Spring框架

feicongcong的博客 1172

(自用)SpringUtil,获取ApplicationContext对象

【代码】(自用)SpringUtil,获取ApplicationContext对象。

Shumm_Gen的博客 261

Spring——Spring工具类

源代码 /** * @author yqb * @date 2018年9月29日 * @version 1.0 */ @Component public class SpringUtils implements ApplicationContextAware{ private static ApplicationContext applicationContext;...

无限迭代中...... 1368
上一篇: 三种hive和flink的UDF/UDTF的实现方式
下一篇: AOP
User_kh
博客等级 码龄10年 1粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值