当前位置: 首页 > wzjs >正文

办公室装修设计怎么收费西安seo培训

办公室装修设计怎么收费,西安seo培训,网站seo诊断分析,局域网内用自己电脑做网站springboot去读yml配置文件中的属性值 springboot去读yml配置文件中的属性值读取yml中的数组配置注入方式1:注入方式2:注入方式3:测试代码:yml文件配置方式1:以逗号形式分割多个值yml文件配置方式2:使用列表…

springboot去读yml配置文件中的属性值

  • springboot去读yml配置文件中的属性值
    • 读取yml中的数组配置
      • 注入方式1:
      • 注入方式2:
      • 注入方式3:
      • 测试代码:
      • yml文件配置方式1:以逗号形式分割多个值
      • yml文件配置方式2:使用列表的形式配置

springboot去读yml配置文件中的属性值

读取yml中的数组配置

注入方式1:

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@Data
@Component
@ConfigurationProperties(prefix = "my")
public class MyProperties {private String[] array;}

注入方式2:

【注意:使用配置类 + @ConfigurationProperties 方式时,类中的属性名称需要和yml文件中的叶子节点属性字段key保持一致。yml中的中划线会指定映射成 Bean 对象的 驼峰。例如:yml中 district-code,会自动映射到java类中的 districtCode 属性上】

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;import java.util.List;@Data
@Component
@ConfigurationProperties(prefix = "my")
public class MyProperties2 {private List<String> array;
}

注入方式3:

在spring容器管理的类里使用@value注解注入yml中属性值

 @Value("#{'${my.array}'}") // 注意这里的单引号和花括号的使用private List<String> myArray;

或者

 @Value("${my.array}")private List<String> syncDataDistrictCodes;

以上两种没有默认值,如果yml中没有配置,程序启动时会报错:

Could not resolve placeholder 'my.array' in value "#{'${my.array}'}"

再或者(注意这里边带冒号,冒号后边指定默认值,如果只写了个冒号,没有指定默认值,List注入的是 空的列表,不是null)

 @Value("${my.array:}")private List<String> syncDataDistrictCodes;

测试代码:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;@RestController
@RequestMapping("test")
public class TestController {@Value("#{'${my.array}'}") // 注意这里的单引号和花括号的使用private List<String> myArray;@Resourceprivate MyProperties myProperties;@Resourceprivate MyProperties2 myProperties2;@GetMapping("/getConfig")public Object getConfig() {Map<String, Object> resMap = new LinkedHashMap<>();resMap.put("@value注入", myArray);resMap.put("配置类注入myProperties-myArray", myProperties.getArray());resMap.put("配置类注入myProperties2-strList", myProperties2.getArray());return resMap;}
}

yml文件配置方式1:以逗号形式分割多个值

my:array: value1,value2,value3

请求测试接口输出结果:

{"@value注入": ["value1","value2","value3"],"配置类注入myProperties-myArray": ["value1","value2","value3"],"配置类注入myProperties2-strList": ["value1","value2","value3"]
}

总结:三种注入方式均可正常注入

yml文件配置方式2:使用列表的形式配置

my:array:- value1- value2- value3

注入方式3的代码加上后,项目无法启动,报错:

Could not resolve placeholder 'my.array' in value "#{'${my.array}'}"

注释掉该方式的代码,继续测试使用配置类方式注入的两个方式,
调用测试接口,结果输出如下:配置类中使用数据注入正常,使用 List 无法正常注入

{"配置类注入myProperties-myArray": ["value1","value2","value3"],"配置类注入myProperties2-strList": ["value1","value2","value3"]
}

总结:
1、使用@value注解方式注入 程序无法启动;
2、使用 配置类的2种均可可正常注入;
tips:复杂的属性配置建议使用配置类进行属性注入

http://www.dtcms.com/wzjs/217719.html

相关文章:

  • 大连专业网站建设24小时免费看的视频哔哩哔哩
  • 青岛专门做网站的公司有哪些免费发布产品信息的网站
  • 吉林建设监理协会网站赣州seo外包怎么收费
  • 简洁大气的网站设计新乡网站优化公司价格
  • 宁德营销型网站建设腾讯域名
  • 中国建设监理业协会网站策划方案模板
  • 做网站填写主要品牌怎么填写郑州网站推广公司哪家好
  • 台州椒江网站建设百度seo排名优化公司哪家好
  • p2p金融网站建设蚌埠网络推广
  • 哪个网站能靠做软件卖网络营销推广方法和手段
  • 怎么做网页的搜索功能郑州本地seo顾问
  • 教育培训类网站建设与维护今天nba新闻最新消息
  • 网站管理更新维护整站优化价格
  • 做流程图用什么网站好佛山seo
  • 专业网站建设加工四种基本营销模式
  • 发布消息做任务的网站seo是什么姓
  • 高端响应式网站建设手机怎么建自己的网站
  • 网站关键字优化价格seo推广怎么入门
  • 公司简介怎么写吸引人seo百度快速排名
  • 网站开发vue深圳推广服务
  • 成都网站建设优化扬州seo优化
  • 淮安市建设厅网站企业培训课程种类
  • 专业做电脑系统下载网站好昆明seo博客
  • 公司网站制作知乎seo软件定制
  • 国家建设局网站首页关键词词库
  • 深圳罗湖做网站58下载百度极速版
  • 网络平台运营模式企业网站seo方案
  • 烟台市福山区住房和建设局网站河北百度推广
  • 做网站为什么可以自学seo自然搜索优化排名
  • 关于php动态网站开发的书籍app推广方式有哪些