list对象 如何去掉一些属性_javaBean复杂属性和SpringBoot的Yaml配置还能这么玩

67886b37c4d73368d06e89263e21ad70.png点击上方“蓝字”,一起愉快的进步吧!

javaBean复杂属性和Yaml配置还能这么玩

先准备一个 javaBean,后续的举例都会针对这个bean里面的属性,你要是嫌弃麻烦的话直接把我的bean复制到你的idea里面哦。

504040e7cdece76d7acfeecba15b0e58.png
/**
 * @author suke
 */
@Data
@ConfigurationProperties("suc.www")
public class Suke {

    private String username;
    private Integer userAge;
    private byte userSexy;
    private String[] bestFriends;
    private List hobbies;private List sukes;private Map nickName;private Map> allFriends;private Set s;
}

分步说明

下面的举例要是还不会的话0c6c5292dfa2f6ab5defa97bc43d2de7.png

还有以下的配置前缀均为下面的前缀,后续举例不再加

#前缀
suc:
   www:
  • 基本数据类型或者包装数据类型比较简单直接写就完事了
    username: suke
    user-age: 24
    user-sexy: 1
  • 数组或者普通类型的List
# array 数组  String[] bestFriends
    #best-friends: [aa,bb,cc]  #这种也是可以的
    best-friends:
      - dd
      - ee
    # List  List hobbies
    hobbies:
      - eat
      - drink
      - 写博客 :xxxxx
      - 写公众号:苏克分享
  • 稍微复杂点的List中嵌套对象
 #  list  List
    sukes:
      - {username: 3001,user-age: 24,user-sexy: 1}
      - {username: 3002,user-age: 24,user-sexy: 0}
   - username: 3003
        user-age: 24
        user-sexy: 1
  • 普通类型键值对的Map(括号中的KV键值对无需分割空格)
 # map  Map
    nick-name: {aa:suke01,bb:suke02}
  • 复杂键值对的Map,比如值为List,且List中是对象(括号中的对象属性和值之间必须要有空格分割)f1be305e66cd7958a4686455dfbd6d72.png
 # map  Map>
    all-friends:
      first: # 表示第一个K,下面的表示List 对象集合
        - {username: 1001,user-age: 24,user-sexy: 1}
        - username: 1003
          user-age: 24
          user-sexy: 1
      second: # 表示第二个K和对象的V值
        - {username: 2001,user-age: 24,user-sexy: 1}
  • set集合
 # set  Set 
    s:
      - aa
      - bb
      - cc

小总结

  • 普通map属性映射时键值对写的时候中间无需空格分割,但是对象键值对映射时必须加空格
  • array数组或List集合或者set集合属性映射时有各种形式 逗号分割加括号(aa,bb,cc)、数组形式 ([aa,bb,cc])、回车后横杠 (- aa 换行 - bb 换行 -cc)
  • 当然数组中有对象的时候,可以用键值对也可以用横杠表示
sukes:
      - {username: 3001,user-age: 24,user-sexy: 1}
      - {username: 3002,user-age: 24,user-sexy: 0}
      - username: 3003
        user-age: 24
        user-sexy: 1
  • 还有有时候自己手写的javaBean,作为配置文件属性时,没法自动提示,那就加入下面的maven依赖吧(生产环境项目打包的时候去掉就可以)
     <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-configuration-processorartifactId>
            <optional>trueoptional>
        dependency>

来源肯定是官网了:

cb9a22d75bda5a03a7ee4b32a60ceb51.png
哦对了,上述javaBean的全部配置均在下面
suc:
  www:
    username: suke
    user-age: 24
    user-sexy: 1
    # array  String[] bestFriends
    #best-friends: [aa,bb,cc]  #这种也是可以的
    best-friends:
      - dd
      - ee
    # list  List hobbies
    hobbies:
      - eat
      - drink
      - 写博客 :xxxxx
      - 写公众号:苏克分享
    #  list  List
    sukes:
      - {username: 3001,user-age: 24,user-sexy: 1}
      - {username: 3002,user-age: 24,user-sexy: 0}
      - username: 3003
        user-age: 24
        user-sexy: 1
    # map  Map
    nick-name: {aa:suke01,bb:suke02}
    # map  Map>
    all-friends:
      first:
        - {username: 1001,user-age: 24,user-sexy: 1}
        - username: 1003
          user-age: 24
          user-sexy: 1
      second:
        - {username: 2001,user-age: 24,user-sexy: 1}

    # set  Set
    s: [aa,bb,cc]
#      - aa
#      - bb
#      - cc


最后

  • 求赞求关注,有问题请留言点击留言
  • 首发公众号:苏克分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值