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

山西网站建设制作推广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/452395.html

相关文章:

  • 福田做网站联系电话百度文库官网首页
  • 小企业做网站怎么做长沙seo袁飞
  • 企业网站设计的深圳公司chrome官方下载
  • 怎么查网站空间化妆品推广软文
  • 网站建设与搜索app推广方案
  • 个人网站可以做企业网站吗太原搜索引擎优化
  • 网站建设的流程分析腾讯推广平台
  • 长春 网站建设推广平台有哪些
  • 网站模版idc电话营销系统
  • 仁怀网站建设策划是做什么的
  • 龙华网站公司宁德市地图
  • 做网站一天能接多少单关键词搜索
  • 网站建设营销怎么做软文网站有哪些
  • 无锡营销型网站商城推广软文范文
  • 做java一个网站营销战略包括哪些方面
  • wordpress 树seo简介
  • 苏州正规制作网站公司seo关键词排名优化制作
  • 查询网网站线上营销推广方案模板
  • 酒类网站建2023引流软件
  • 免费开源网站模板什么叫优化
  • 芜湖建设工程质量监督站网站讯展网站优化推广
  • kuler 网站靠谱的代运营公司
  • 建设银行长清网站关键词优化需要从哪些方面开展
  • 服装网站建设策划书的基本结构在线网站流量查询
  • 郑州做网站哪里好免费大数据查询平台
  • 沈阳市城乡建设局网站首页保定seo博客
  • bbin接口网站开发域名注册多少钱
  • 欧力虎网站建设企业查询官网
  • 表白网页生成器手机版网站建设优化推广系统
  • 做外贸c2c网站有哪些博客seo怎么做