springboot中如何在工具类中引入xml文件里面的内容

在这里插入图片描述
天空很美,但总有遗憾。人生很长,请不要让自己后悔。越努力的人越幸运。是不是还是为了java中的问题而烦恼?来看看我的这篇文章吧!
搞笑而又有实力的我,在欢快当中把知识传授与你。这难道不是一件很快乐的事情吗?
正如标题所言,在工具类中咱们如何拿到配置文件中的application.xml文件的内容呢?

跟着小铁的思路来慢慢解决这个问题,看看小铁是如何解决工作当中遇到的困难的!

一、首先咱们要先了解spirngboot中的启动机制
springboot当中有一个很重要的注解 @SpringbootApplication 它是一个组合注解:分别由
在这里插入图片描述
这几个注解组成(偷个懒,单词太多了。真的不想写了,希望同学们原谅呀!)
别看这么多的注解,但咱们只要了解其中的这三个就可以@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan

我来简单的说一下这三个注解分别是什么意思,阅读这篇文章的小伙伴,也回忆一下。
1、@SpringBootConfiguration:它是对原注解@Configuration 简单的封装。
在这里插入图片描述
2、@EnableAutoConfiguration:它主要提供springboot的自动装配,它是这所有注解当中最重要的注解,也是核心的注解。它给springboot提供了自动依赖功能,是springboot方便的最大的功臣。
在这里插入图片描述

3、@ComponentScan:它的主要作用是来开启组件扫描,可以自动扫描指定包路径下的@Component注解类并将bean实例注册到context中。
在这里插入图片描述
好了,现在理解完springboot的原理了,现在来解决一下咱们如何从工具类中拿到xml文件里面的内容吧
首先咱们要知道,咱们spring boot启动的话,工具类是不会被springboot加入到启动项里面的。而xml文件是会被加载进去的。所以咱们要在咱们工具类上面加上@Compoent注解来把工具类注入到springboot里面去。

重要的一点:都说@Value()能够获取到,是因为你启动的是整个项目,而工具类不加上@Component是不会被springboot管理的。所有@Vauel()注解也就不生效了。(这是一个坑,大坑。千万别踩了!)

但是有的小伙伴就会问了,我在工具类中添加了@Component注解,依然是获取不到,是什么原因?

答:不知道,小铁也不是万能的,哈哈哈~~~ 划水。有大神的小伙伴可以告诉我一下。我回来补充上。

不过也不是没有办法解决

下面就是小铁获取的方法:(工具类上面一定要加@Component,否则不会被springboot管理的)

private static String PROPERTY_NAME = "application-dev.yml";

    public static Object getCommonYml(Object key){
        Resource resource = new ClassPathResource(PROPERTY_NAME);
        Properties properties = null;
        try {
            YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean();
            yamlFactory.setResources(resource);
            properties =  yamlFactory.getObject();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
        return properties.get(key);
    }

输出的话:在这里插入图片描述
我的xml的格式:
在这里插入图片描述
我就这样子就能拿到了xml文件里面的内容。

代码中的坑小铁来踩,免费的关注和点赞给一个吧!
这篇文章没有什么太多的干活和技术含量,写这篇文章的原因就是想把这个坑分享给更多的小伙伴。(也给自己做个记录)尽量来避免这个大坑。我整整掉进去1个小时才解决。(都快哭了~~ 委屈)。

好了,这篇文章也就算是写完了。有兴趣的小伙伴可以去看看我的其他的文章。(也是很不错的呢!)

我是小铁,一个逗比与实力的结合体。----------------- 小铁

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值