package xxx;

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;

@Component

public class SpringUtil implements ApplicationContextAware {

private static ApplicationContext applicationContext = null;

public SpringUtil() {

}

public void setApplicationContext(ApplicationContext arg0) throws BeansException {

if (applicationContext == null) {

applicationContext = arg0;

}

}

public static ApplicationContext getApplicationContext() {

return applicationContext;

}

public static void setAppCtx(ApplicationContext webAppCtx) {

if (webAppCtx != null) {

applicationContext = webAppCtx;

}

}

/**

* 拿到ApplicationContext对象实例后就可以手动获取Bean的注入实例对象

*/

public static <T> T getBean(Class<T> clazz) {

return getApplicationContext().getBean(clazz);

}

public static <T> T getBean(String name, Class<T> clazz) throws ClassNotFoundException {

return getApplicationContext().getBean(name, clazz);

}

public static final Object getBean(String beanName) {

return getApplicationContext().getBean(beanName);

}

public static final Object getBean(String beanName, String className) throws ClassNotFoundException {

Class<?> clz = Class.forName(className);

return getApplicationContext().getBean(beanName, clz.getClass());

}

public static boolean containsBean(String name) {

return getApplicationContext().containsBean(name);

}

public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {

return getApplicationContext().isSingleton(name);

}

public static Class<?> getType(String name) throws NoSuchBeanDefinitionException {

return getApplicationContext().getType(name);

}

public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {

return getApplicationContext().getAliases(name);

}

}

通过spring工具类获取bean的更多相关文章

  1. spring工具类获取bean

    import org.springframework.web.context.ContextLoader; import org.springframework.web.context.WebAppl ...

  2. Spring工具类 非spring管理环境中获取bean及环境配置

    SpringUtils.java import org.springframework.beans.BeansException; import org.springframework.beans.f ...

  3. Spring普通类/工具类获取并调用Spring service对象的方法

    参考<Spring普通类获取并调用Spring service方法>,网址:https://blog.csdn.net/jiayi_0803/article/details/6892455 ...

  4. spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象

    相关 知识 >>> 相关 练习 >>> 实现要求: 在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXm ...

  5. 从Spring容器中获取Bean。ApplicationContextAware

    引言:我们从几个方面有逻辑的讲述如何从Spring容器中获取Bean.(新手勿喷) 1.我们的目的是什么? 2.方法是什么(可变的细节)? 3.方法的原理是什么(不变的本质)? 1.我们的目的是什么? ...

  6. Spring工具类:WebApplicationContextUtils

    当 Web 应用集成 Spring 容器后,代表 Spring 容器的WebApplicationContext对象将以 WebApplicationContext.ROOT_WEB_APPLICAT ...

  7. spring 工具类大集合

    接以前的文章 apache-commons 常用工具类 和文章 apache-commons 工具类扩展 小家 Spring 对 spring 的工具类做了详细的介绍(一) 这里我抽出一些好用的类,不 ...

  8. 使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间。

    1.使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间. package com.fline.aic.utils; import java.text.DateFormat ...

  9. spring根据beanName获取bean

    spring根据beanName获取bean主要实现: org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean( ...

随机推荐

  1. inode节点号

    查看分区信息命令 df -Th 查看文件inode节点号 ls -i b.txt 查看系统中与b.txt 的inode节点号相同的所有文件,即硬链接 find  /  -inum  xxxx(b.tx ...

  2. python - assert 断言 语句

    使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单. 用法:在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行时崩溃,不如在出现 ...

  3. Vue创建局部组件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. numpy库简单使用

    numpy简介 NumPy(Numerical Python)是python语言的一个扩展程序库,支持大量维度数组与矩阵运算,此外,也针对数据运算提供大量的数学函数库. NumPy是高性能科学计算和数 ...

  5. HTM基础之HTML标签

    HTML(超文本标记语言) html代码实际上就是一套能够被浏览器所识别的规则代码,由一个个标签组成.html代码就是一大长串字符串,而这种字符串的格式正好能够被浏览器所识别,也就有了我们的WEB页面 ...

  6. 3D聚类

    1 3D聚类和普通的二维聚类实质一样,只不过维数太高了,用三维图来表示了. 下面将官网的改成只生成一个图了 #!/usr/bin/python # -*- coding:utf-8 -*- print ...

  7. 中国MOOC_零基础学Java语言_第7周 函数_2完数

    2 完数(5分) 题目内容: 一个正整数的因子是所有可以整除它的正整数.而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数.例如6=1+2+3(6的因子是1,2,3). 现在,你要写一个程序, ...

  8. Mysql数据库存储数据时间与系统获取时间不一致

    最近进行项目开发,发现存在数据库内的数据和系统查询到的数据相差8小时 发现有2种比较合适的方法 (一)修改mysql服务的区时 centos进入mysql查看/修改时区 1.输入以下命令进入mysql ...

  9. EFI系统分区如何删除

    U盘或者硬盘被做了系统安装盘. 结果在格式化都是失败,分区也不行. 有了新招 EFI分区是您的系统启动引导的分区,存放引导启动的文件的,因此它是一个操作系统独立的分区,实际上它是UEFI加载的固件和应 ...

  10. EML文件(MIME邮件)格式分析

    电子邮件普遍遵循的邮件技术规范.MIME邮件由邮件头和邮件体两部分组成.邮件头包括:标题,送信人,收信人,创建日期,邮件体内容类型和邮件体编码方式等内容.邮件体包括:正文,超文本,内嵌数据和附件等内容 ...