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

网站建设设计 昆山加关键词的网站

网站建设设计 昆山,加关键词的网站,关于手表网站建设策划书,自己网站首页如何设置再来个文章目录 文章目录前言1、自定义配置文件2、配置对象类3、YamlPropertiesSourceFactory下面还有投票,帮忙投个票👍 前言 最近在看某个开源项目代码并准备参与其中,代码过了一遍后发现多个自定义的配置文件用来装载业务配置代替数据库…

在这里插入图片描述
再来个文章目录

文章目录

  • 前言
  • 1、自定义配置文件
  • 2、配置对象类
  • 3、YamlPropertiesSourceFactory

下面还有投票,帮忙投个票👍

前言

最近在看某个开源项目代码并准备参与其中,代码过了一遍后发现多个自定义的配置文件用来装载业务配置代替数据库查询,直接响应给前端,这里简单记录一下实现过程。

我们通常在SpringBoot项目中用配置文件属性时使用@ConfigurationProperties或@Value默认配置文件的属性值,也就是application.yml或者application.properties文件中的属性值。

但是不能全都往默认配置文件里堆的,本文利用@PropertySource和@ConfigurationProperties注解引用其它配置文件的属性值。

1、自定义配置文件

在resources下创建my.yaml文件,“-”用来表示数组类型,一定要注意空格

my:contents:- id: 12121name: nadasd- id: 3333name: vfffff

2、配置对象类

创建配置类对象,在类上添加@Component、@PropertySource、@ConfigurationProperties注解。

@Component是将该类交由spring管理,@PropertySource用来指定配置文件及解析Yaml格式,@ConfigurationProperties是将解析后的配置文件属性自动注入该类的属性。

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;import java.util.ArrayList;
import java.util.List;@Component
@PropertySource(value = "classpath:my.yaml", factory = YamlPropertiesSourceFactory.class)
@ConfigurationProperties(prefix = "my")
public class MyProperties {private List<content> contents = new ArrayList<>();public List<content> getContents() {return contents;}public void setContents(List<content> contents) {this.contents = contents;}}class content {private String id;private String name;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

@PropertySource注解是Spring用于加载配置文件,@PropertySource属性如下:

  • name:默认为空,不指定Spring自动生成
  • value:配置文件
  • ignoreResourceNotFound:没有找到配置文件是否忽略,默认false,4.0版本加入
  • encoding:配置文件编码格式,默认UTF-8 4.3版本才加入
  • factory:配置文件解析工厂,默认:PropertySourceFactory.class 4.3版本才加入,如果是之前的版本就需要手动注入配置文件解析Bean

Spring Boot 默认不支持@PropertySource读取yaml 文件,需要自定义PropertySourceFactory进行解析。

3、YamlPropertiesSourceFactory

创建YamlPropertiesSourceFactory类用来解析Yaml格式的文件。

import org.springframework.boot.env.YamlPropertySourceLoader;
import org.springframework.core.env.PropertySource;
import org.springframework.core.io.support.EncodedResource;
import org.springframework.core.io.support.PropertySourceFactory;import java.io.IOException;
import java.util.List;
import java.util.Optional;public class YamlPropertiesSourceFactory implements PropertySourceFactory {@Overridepublic PropertySource<?> createPropertySource(String name, EncodedResource resource) throws IOException {String resourceName = Optional.ofNullable(name).orElse(resource.getResource().getFilename());List<PropertySource<?>> yamlSources = new YamlPropertySourceLoader().load(resourceName, resource.getResource());return yamlSources.get(0);}}
http://www.yayakq.cn/news/866757/

相关文章:

  • 做商城网站需要什么资质用六类网站做电话可以吗
  • 旅游手机网站模板做摄影网站公司
  • 百度蜘蛛不爬取网站wordpress 影视模板
  • 食品网站建设的目的高级软件开发培训
  • 用html做的网站步骤浙江建设集团
  • 自己制作头像的网站 设计 动漫天津网站建设开发有哪些
  • 温州网站设计网站建设网站网站上传到空间
  • 最好网站建设制作是那个0基础做下载网站
  • 网页网站制作维护做调查的网站知乎
  • 画画在线南宁seo规则
  • 辽宁省住房城乡建设厅网站wordpress设置显示为英文
  • 网站建设如何盈利服装品牌网站建设
  • 青岛免费网站建设网站运营做seo
  • 网站地图生成器抖音代运营公司经营范围
  • 被墙的网站有哪些做ppt的图片素材网站有哪些
  • 大连网站开发选领超科技wordpress 4.5.3 ueditor
  • 做织梦网站之前要新建数据库吗c语言开发网站
  • 网站信息系统设计程序员开发软件
  • 网站设计作品案例讲解手机网站用什么开发好
  • 绵阳住房和城乡建设厅官方网站wordpress商品分销
  • 宜春代做网站男科治疗价目表
  • 网站软件下载大全证书查询网免费查询
  • 朝阳公园网站建设网站开发需要什么步骤
  • 河南省建设人才信息网站wp网站打开太慢怎么做优化
  • 卖掉的网站了对方用来做违法海外推广软件
  • 为什么自己花钱做的网站竟然不是自己的?(wordpress建站双语
  • 云南城市建设职业学校官方网站做网站项目的流程
  • 青岛网站建设青岛博采网络装修公司宣传册设计样本
  • 个人网站推广平台大全在线做app的网站
  • 大兴网站开发网站建设咨询wordpress怎么私人媒体库