Springboot多种情况yml配置代码实例

作者:爬行 时间:2022-05-14 23:26:00 

springboot 中各种配置项纪录

1. @Value

最早获取配置文件中的配置的时候,使用的就是这个注解,SpEL表达式语言。


// 使用起来很简单
@Value("${config.demo.value:defaultValue}")
private String simpleValue;

通常我们配置的时候,不仅仅是一个单独字段,可能是一组配置,用来组成一个对象。这个时候spring为我们提供了这个注解。

简单的对象,在yml里也可以很简单的写出来。直接把每一个字段写出即可。

而对复杂对象,如:list、map等的,就需要查一下资料了,这里简单记录一下写法,直接看代码。


# 配置示例
config:
demo:
 value: testValue

simpleConfig:
  config: testConfig

str1: abc,cde
 str2:
  - abc
  - cde

configMap:
  key1: value1
  海贼王: 路飞

simpleConfigs:
  - config: 罗宾
   count: 1
  - config: 乌索普
   count: 1
  - config: 索隆
   count: 1

configObjMap:
  key1:
   config: value1
  key2:
   config: value2

pojo 对象定义如下:


@Data
@ConfigurationProperties(prefix = "config.demo")
@Configuration
public class ConfigDemo {
@Value("${config.demo.value:defaultValue}")
private String simpleValue;

/**===========简单对象===========*/
/**
 * 对象
 */
private SimpleConfig simpleConfig;
/**
 * 字符串数组1
 */
private List<String> str1;
/**
 * 字符串数组1
 */
private List<String> str2;
/**
 * 键值对
 */
private Map<String, String> configMap;

/**
 * ===========多个复杂对象==========
 */
/**
* 对象集合
*/
private List<SimpleConfig> simpleConfigs;
/**
* 对象作为map值
*/
private Map<String, SimpleConfig> configObjMap;

@Data
public static class SimpleConfig { // 注意:这里需要内部类是public的,要不然注入的时候会出错。
 private String config;
 private int count;
}
}

来源:https://www.cnblogs.com/paxing/p/13232235.html

标签:Spring,boot,yml,配置
0
投稿

猜你喜欢

  • C#算法之散列表

    2022-07-30 19:05:52
  • 使用spring注入枚举类型作为参数

    2023-11-23 13:25:57
  • C# SaveFileDialog与OpenFileDialog用法案例详解

    2023-01-28 05:44:42
  • Android app启动时黑屏或者白屏的原因及解决办法

    2023-06-09 11:32:32
  • Flutter 剪裁组件的使用

    2023-06-18 13:15:04
  • Java实现文件和base64流的相互转换功能示例

    2023-11-18 07:45:01
  • 如何利用Spring把元素解析成BeanDefinition对象

    2023-11-23 05:17:16
  • Android实现为Notification加上一个进度条的方法

    2022-12-14 00:39:01
  • java 域对象共享数据的实现

    2022-04-26 15:22:14
  • java在linux本地执行shell命令的实现方法

    2023-11-14 02:31:33
  • spring mvc url匹配禁用后缀访问操作

    2021-11-19 23:57:34
  • Winform 实现进度条弹窗和任务控制

    2023-06-20 04:27:09
  • Unity3D Shader实现扫描显示效果

    2023-03-16 22:51:39
  • Kotlin实现图片选择器的关键技术点总结

    2023-03-05 02:31:57
  • Java源码解析之接口List

    2022-06-13 08:46:44
  • Android 暂停和恢复Activity

    2021-07-09 06:33:18
  • 优化常见的java排序算法

    2022-03-25 05:11:54
  • 深入理解java内置锁(synchronized)和显式锁(ReentrantLock)

    2023-11-19 00:10:57
  • Java之ThreadLocal使用常见和方式案例讲解

    2023-08-28 13:54:09
  • 基于eclipse.ini内存设置的问题详解

    2021-08-25 02:56:55
  • asp之家 软件编程 m.aspxhome.com