首页 > 其他分享 >@ConfigurationProperties 前缀注入属性

@ConfigurationProperties 前缀注入属性

时间:2023-07-13 18:13:25浏览次数:43  
标签:animals 前缀 zoo String ConfigurationProperties 属性 type public name

 

import java.util.LinkedHashMap;
import java.util.Map;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@ConfigurationProperties(prefix="zoo")
@Configuration
public class ZooConfig {
    
    private String name;

    private Map<String,Animal> animals = new LinkedHashMap<>();;


    public Map<String, Animal> getAnimals() {
        return animals;
    }

    public void setAnimals(Map<String, Animal> animals) {
        this.animals = animals;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public static class Animal {
        private String name;
        private Integer type;

        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Integer getType() {
            return type;
        }
        public void setType(Integer type) {
            this.type = type;
        }
    }
}

 

zoo.name = 我的动物园
zoo.animals.dog.name = 大黄
zoo.animals.dog.tYpe = 1
zoo.animals.cat.name = 咪咪
zoo.animals.cat.tYPE = 2

 

使用:

        ZooConfig zooConfig = ap.getBean(ZooConfig.class);
        Animal animal = zooConfig.getAnimals().get("cat");

 

备注:属性不区分大小写,比如 cat.type  或 cat.type 都能注入到 type 中

 

参考:

org.springframework.cloud.netflix.zuul.filters.ZuulProperties

org.springframework.boot.autoconfigure.cache.CacheProperties

 

补充:2022-08-03

不支持 zoo.a.b 支持 zoo.a-b 或 zoo.ab

 

标签:animals,前缀,zoo,String,ConfigurationProperties,属性,type,public,name
From: https://www.cnblogs.com/zno2/p/16501609.html

相关文章

  • ble开发 蓝牙服务中对服务、特性、属性以及UUID的理解
    1.蓝牙服务包括多个服务(service),如下为蓝牙串口通信例程的三个服务 2.其中每个服务包括多个特性(Characteristic),如下为GenericAccess服务的四个特性 3.属性即为每个特性是否可读写 4.每个特性都有其对应的UUID简单理解UUID就是编号,服务和特性都有各自的UUID他们都是唯一......
  • vue 删除对象中的属性
    data(){ return{ searchParams:{ pageSize:7, pageNum:1,isPass:'' }, list:[{ name:"全部", isPass:undefined }, { name:"待审核", isPass:1 ......
  • 《系列二》-- 9、bean属性填充
    目录一、概述:populateBean在什么时候执行?二、populateBean的重要操作三、重点操作一propertyValue的注入3.1根据Bean名称注入3.2浅看一下,获取非'简单'类型property的方法3.3根据Bean类型注入四、注入依赖的应用阅读之前要注意的东西:本文就是主打流水账式的源码阅......
  • 添加和获取对象属性
    说明属性即是特征,⽐如:人的年龄、性别、体重...对象属性既可以在类外⾯添加和获取,也能在类⾥⾯添加和获取。类外添加或修改对象属性语法对象名.属性名=值类外访问对象属性语法对象名.属性名类内访问、修改、添加对象属性使用self代替对象名访问、修改、添加对象属......
  • Spring事务属性
            ......
  • 5.前缀树
       ......
  • mybatis中数据库字段和实体类的属性映射问题
    由于数据库中表的列名一般是按照多个单词之间用下划线隔开,而java一般是驼峰命名法,所以这两者之间存在映射不到的问题,解决方案如下:1.给字段添加别名,如下:<selectid="getManagerInfo"resultType="string">selectlast_login_timelastLoginTimefromwy_manager......
  • 淘宝APP商品详情数据接口(宝贝详情数据、快递费用、商品规格信息列表、商品属性等)
    前言淘宝商品详情接口的重要性是不可忽视的。通过淘宝商品详情接口,开发者可以获取淘宝平台上商品的详细信息,包括标题、描述、价格、库存、销量、规格、SKU等。淘宝APP商品详情数据接口(宝贝详情数据、快递费用、商品规格信息列表、商品属性等)代码对接教程如下步骤。请求参数请求参数......
  • Vue3+.net6.0 四 计算属性 computed
    跟Vue2一样,我们在工作中使用data中的属性时,很多时候不是直接拿来用,而是要经过一些计算,判断,筛选的过程。比如一个数组,我们可能在使用前要判断有没有元素,是否包含某个元素,然后根据不同的情况有不同的展示方式,这些如果都写在html部分,会非常不好阅读,如果多个地方要做类似的判断,则会......
  • vue3中父组件与组件之间参数传递,使用(defineProps/defineEmits),涉及属性传递,对象传递,
    Vue3中子父组件之间的通信一、父组件传递参数到子组件采用defineProps传递属性父组件:<template><div><h1>这是父组件</h1><h1>父组件像子组件传递参数</h1><h2>传递属性值</h2><HH:fatherMessage="fatherMessage":valNum="valNum":valBool=......