zoukankan      html  css  js  c++  java
  • @PropertySource 注解的使用

    转自:https://blog.csdn.net/lzb348110175/article/details/105147070/

    我们了解完 @ConfigurationProperties 注解的使用,知道了它可以将 application.yml 或 application.properties 主配置文件中的属性值与 Java Bean 对应属性进行注入。

    此时就引出另一个问题,如果所有属性值都配置在 主配置文件 中,主配置文件就会越来越庞大,这显然是不可以的。此时我们可以使用 Spring 为我们提供的 @PropertySource 注解,去加载指定的配置文件,然后结合 @ConfigurationProperties 注解,便能够实现指定配置文件与 Java Bean 的注入操作。

    接下来,我们就来用一个实例来了解一下。如何使用 @ PropertySource 注解来加载指定配置文件,实现配置文件与Java Bean 类的注入。

    @PropertySource注解的使用 注意:该注解仅适用于properties 类型配置文件

    我们新建一个 person.properties 配置文件,用来存放 Person 类的配置信息。接下来使用 @ PropertySource 注解,来实现通过读取该配置,实现配置文件与 Java Bean 类的注入操作。

    //person.properties
    person.name=扛麻袋的少年
    person.age=27
    person.manager=true
    person.birthday=2020/03/27
    person.map.k1=v1
    person.map.k2=v2
    person.list=basketball,tennis,swim
    person.address.province=山西省
    person.address.distinct=晋中市
    person.address.county=祁县
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    javaBean类

    添加 @PropertySource(value = {“classpath:person.properties”})注解,通过 value 属性让它去加载指定路径配置文件。代码如下:

    @Component
    @ConfigurationProperties(prefix = "person")
    @PropertySource(value = {"classpath:person.properties"})//读取指定路径配置文件
    public class Person {

    private String name;

    private int age;

    private boolean isManager;

    private Date birthday;

    private Map<String, Object> map;

    private List<String> list;

    private Address address;

    /**
    * 省略get/set/toString() 方法
    */
    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    测试:
    使用 SpringBoot 为我们提供的测试环境,来进行以上代码的测试。测试结果显示,它可以实现 person.properties 文件中的配置信息与自定义的 Person 类完成注入操作,如下图所示:
    在这里插入图片描述

  • 相关阅读:
    招财宝和余额宝哪个好?注意招财宝三大漏洞
    JavaScript eval() Function
    面向对象设计七大原则
    Web开发应该注意的问题
    表格内容排序(js实现)
    Ruby on Rails Tutorial 第六章 用户模型
    Ruby on Rails Tutorial 第五章 完善布局
    一万小时定律的数学解释
    数据抓取的艺术(三)
    数据抓取的艺术(二)
  • 原文地址:https://www.cnblogs.com/sharpest/p/13705488.html
Copyright © 2011-2022 走看看