当前位置: 首页 > news >正文

Spring获取bean的工具类

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

当某个Bean会注册到容易,但是在需要的时候还没有注册到容易。可以通过ApplicationContent来获取。

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

@Component
public class SpringUtil implements ApplicationContextAware {

    private static ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        if(SpringUtil.applicationContext == null) {
            SpringUtil.applicationContext = applicationContext;
        }
    }

    //获取applicationContext
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }

    //通过name获取 Bean.
    public static Object getBean(String name){
        return getApplicationContext().getBean(name);
    }

    //通过class获取Bean.
    public static <T> T getBean(Class<T> clazz){
        return getApplicationContext().getBean(clazz);
    }

    //通过name,以及Clazz返回指定的Bean
    public static <T> T getBean(String name,Class<T> clazz){
        return getApplicationContext().getBean(name, clazz);
    }

}

 

转载于:https://my.oschina.net/hutaishi/blog/1531592

相关文章:

  • ASP.NET Core 运行原理解剖[4]:进入HttpContext的世界
  • 基于centos7.3 redhat7.3安装LAMP(php7.0 php7.1)生产环境实践
  • C++ 迭代器二分搜索方法示例
  • Class类文件结构概述
  • Spring MVC-集成(Integration)-生成JSON示例(转载实践)
  • Spring MVC-集成(Integration)-集成LOG4J示例(转载实践)
  • WebSocket使用
  • CCF201703试题
  • 2017-09-12 前端日报
  • 看似“触手可及”的Oculus离我们有多远?
  • 【小工具】python 在服务器上临时启用一个端口
  • ARM-Linux中断系统
  • 马云:不利用互联网技术,比缺电更可怕
  • 微信JS-SDK实现上传图片功能
  • ES6--对象的扩展
  • hexo+github搭建个人博客
  • __proto__ 和 prototype的关系
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • Github访问慢解决办法
  • Java比较器对数组,集合排序
  • Java程序员幽默爆笑锦集
  • k个最大的数及变种小结
  • VUE es6技巧写法(持续更新中~~~)
  • 基于web的全景—— Pannellum小试
  • #FPGA(基础知识)
  • #WEB前端(HTML属性)
  • $().each和$.each的区别
  • (6)STL算法之转换
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (zhuan) 一些RL的文献(及笔记)
  • (一)u-boot-nand.bin的下载
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET开发不可不知、不可不用的辅助类(一)
  • @Autowired标签与 @Resource标签 的区别
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • @TableLogic注解说明,以及对增删改查的影响
  • [BROADCASTING]tensor的扩散机制
  • [BUUCTF 2018]Online Tool(特详解)
  • [bzoj2957]楼房重建
  • [C# WPF] 如何给控件添加边框(Border)?
  • [C#]winform部署PaddleOCRV3推理模型
  • [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解
  • [CentOs7]iptables防火墙安装与设置
  • [CUDA手搓]从零开始用C++ CUDA搭建一个卷积神经网络(LeNet),了解神经网络各个层背后算法原理
  • [Electron]ipcMain.on和ipcMain.handle的区别
  • [ffmpeg] aac 音频编码
  • [HTML]Web前端开发技术30(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页
  • [IDF]啥?
  • [LeetCode] Ransom Note 赎金条
  • [LeetCode]—Rotate Image 矩阵90度翻转
  • [LeetCode]剑指 Offer 42. 连续子数组的最大和
  • [LeetCode]-使用特殊算法的题目-2
  • [Lucene] Lucene 全文检索引擎简介
  • [Nginx]反向代理Node将3000端口访问转换成80端口