SpringBoot中在普通类里面加载Spring容器中的类

举报
经典鸡翅 发表于 2022/02/17 22:45:57 2022/02/17
【摘要】 前言 在我们的工作中,经常会遇到需要在普通类中使用放在Spring容器中的类的情况。最常见的情况大概就是有一个类他的属性的是通过spring的配置文件读取的。这样这个类必然要交给Spring容器进行管理。这个时候如果我们在普通类中直接new这个类是不可以拿到的。属性值不会加载成功。下面介绍一个方法。 实现 封装一个be...

前言

在我们的工作中,经常会遇到需要在普通类中使用放在Spring容器中的类的情况。最常见的情况大概就是有一个类他的属性的是通过spring的配置文件读取的。这样这个类必然要交给Spring容器进行管理。这个时候如果我们在普通类中直接new这个类是不可以拿到的。属性值不会加载成功。下面介绍一个方法。

实现

封装一个beanutil

我们获取spring容器中的类,都从这个工具类里面来获取。


   
  1. import org.springframework.context.ConfigurableApplicationContext;
  2. public class BeanUtil {
  3. public static ConfigurableApplicationContext applicationContext;
  4. public static <T> T getBean(Class<T> c){
  5. return applicationContext.getBean(c);
  6. }
  7. }

在springboot启动类里面对beanutil的容器进行赋值


   
  1. public class Application {
  2. public static void main(String[] args) {
  3. ConfigurableApplicationContext run = SpringApplication.run(InformationApplication.class, args);
  4. BeanUtil.applicationContext = run;
  5. }
  6. }

使用示例

我们获取一个FileUploadUtil。

FileUploadUtil fileUploadUtil = BeanUtil.getBean(FileUploadUtil.class);
  

文章来源: blog.csdn.net,作者:经典鸡翅,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/hanqing456/article/details/111878936

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。