Spring源码阅读 :

package com.example.riskm.core.common;import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;import java.util.ArrayList;
import java.util.List;@Component
public class SpringUtils implements ApplicationContextAware {// applicationContextprivate static ApplicationContext applicationContext;@Overridepublic void setApplicationContext(ApplicationContext applicationContext1) throws BeansException {applicationContext = applicationContext1;}// 从ApplicationContext 中获取Bean(根据类加载)(这个applicationContext已经在启动的时候就加载过了)public static <T> T getBean(Class<T> tClass){return applicationContext.getBean(tClass);}// 从ApplicationContext 中获取Bean(根据类型加载)public static <T> T getBean(String name, Class<T> type) {return applicationContext.getBean(name, type);}// 从ApplicationContext 中获取Environment,然后再获取配置文件中的数据(指定key的值)public static String getConfigValue(String key){Environment environment = getBean(Environment.class);String prop = environment.getProperty(key);return prop;}// 与上面的区别在于可能获取到的prop可能不是一个值, 可能还有多个子节点值public static List<String> getConfigValueList(String key){Environment environment = getBean(Environment.class);String prop = environment.getProperty(key);List<String> items = new ArrayList<>();if (StringUtils.isBlank(prop)) {return items;}for (String item : prop.split(",")) {item = item.trim();if (StringUtils.isNotBlank(item)) {items.add(item);}}return items;}}

Spring中getBean方法相关推荐

  1. 详解Spring中getBean()方法

    我们日常会经常使用getBean()方法从spring容器中获取我们需要的bean.那么,getBean()方法是怎么一步步完成从spring容器中获取bean的呢? 下面我们就通过源码分析一下. 一 ...

  2. Spring中RedisTemplate方法中,redis相关操作笔记。[redis生成指定长度自增批次号,删除、设置过期时间等]

    Spring中RedisTemplate方法中,redis相关操作笔记. redis获取自增批次号 // opsForValue()生成long UUID = redisTemplate.opsFor ...

  3. java spring getbean_spring getbean 方法分析(很实用!)

    在最近的项目中,有个地方我们不得不实用getBean的方法,自己从Spring context中获取bean进行数据库操作. 方法一(效率低,极易出现bug,不推荐使用): 刚刚开始的时候,我们使用这 ...

  4. 详解Spring的GetBean方法

    Spring容器提供了五种获取Bean的方式,可以根据beanName获取Bean,也可以根据classType来获取Bean,所有根据beanName来获取Bean的方式,底层都会通过调用下面的do ...

  5. Java中Spring中的方法加上try catch后事务管理器失效无法回滚的情况

    beab.xml配置 <bean id="dataSource" class="org.springframework.jdbc.datasource.Driver ...

  6. java的lookup方法_深入理解Spring中的Lookup(方法注入)

    前言 本文主要给大家介绍了关于Spring中Lookup(方法注入)的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 在使用Spring时,可能会遇到这种情况:一个单例的Be ...

  7. spring中默认标签Bean标签解析一

    在Spring种有两种标签,一种是默认标签,另一种是自定义标签.对两种标签的用法和解析方式存在着很大的不同. 首先分析的是默认标签的解析过程. 解析标签的入口代码 protected void par ...

  8. Spring中使用XML方式导入Spring配置文件,Boot中使用全注解导入Spring配置

    目录 Spring中的方法 Spring Boot中的方法 Spring中的方法 @ImportResource:导入Spring的配置文件,让配置文件里面的内容生效: Spring Boot里面没有 ...

  9. java getbean方法_java相关:spring中通过ApplicationContext getBean获取注入对象的方法实例...

    java相关:spring中通过ApplicationContext getBean获取注入对象的方法实例 发布于 2020-12-19| 复制链接 分享一篇关于关于spring中通过Applicat ...

最新文章

  1. pandas使用groupby函数、agg函数获取每个分组聚合对应的均值(mean)实战:计算分组聚合单数据列的均值、计算分组聚合多数据列的均值
  2. C++ leetcode 17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
  3. .Net开发中的多线程编程总结
  4. BZOJ 2716 [Violet 3]天使玩偶 (CDQ分治、树状数组)
  5. Leetcode39.Combination Sum组合总和
  6. srand(设置随机数种子)
  7. Maven中几张重要的总结图
  8. 最大隶属度原则_商圈广告精准投放,请牢记这四大黄金原则!
  9. ASP.NET - JQuery的.getJSON给Dropdownlist绑定Item
  10. pca降维后的特征跟原来的特征有什么关系?_PCA 主成分分析方法
  11. 如何创建linux 脚本,如何创建和执行shell脚本
  12. hibernate_09_关联映射_多对一
  13. c语言随机抽号小程序源代码,使用JS编写的随机抽取号码的小程序
  14. Modelsim搭建具有各组件的UVM验证平台
  15. Windows高级工程师:GDI+绘图;基础入门大全
  16. 查询出部门名称、部门的员工数、部门的平均工资、部门的最低收入雇员姓名和最高收入雇员的姓名...
  17. java中10d是什么意思_java程序员面试自我介绍
  18. Kotlin 特色之 Sealed Class 和 Interface
  19. Office系列版本安装包下载
  20. 360安全卫士真恶心,再也不用了

热门文章

  1. python游戏联机后直接掉线_玩家:和你一起联机的人,掉线了吗
  2. jspxcms 4.0 mysql 5.0_jspxcms
  3. java读文件几种方式_JAVA读取文件的几种方式
  4. 无人黑科技智能美妆店来袭!传统美妆店该如何进击?
  5. python网络爬虫 占用内存和CPU越来越大 越跑越慢
  6. 附加的文件超过了服务器,将大文件附加到 Outlook 邮件或事件
  7. 今天写些有用的,关于学习的,和关于40期项目读后感的一些想法
  8. Avue switch 用法
  9. 浅谈什么是图拓扑排序
  10. 下列不是C语言字符型常,以下选项中,()是不正确的C语言字符型常量。