美文网首页
application.properties的简单用法及编码格式

application.properties的简单用法及编码格式

作者: entro | 来源:发表于2022-11-23 11:12 被阅读0次

application.properties的简单用法及编码格式问题

配置文件有三种:xml properties yml

1. 加载顺序

  • 距离最近的先加载,后加载/config下的,距离远最后再加,后加载的覆盖先加载的属性。
  • .YML比.properties优先,//todo 这里试验下加载顺序,是否加载一个不加载另一个类型的文件
  • bean类或者主入口上面加@PropertySource可以指定加载配置文件,其值最先加载,被后加载的覆盖

ConfigFileApplicationListener(spring 2.4-3.0)中的DEFAULT_SEARCH_LOCATIONS = "classpath:/,classpath:/config/,file:./,file:./config/*/,file:./config/"指定了默认的配置文件加载目录.

2. 属性使用

单个字段使用
class A{
        @Value("${environment}")
        private String environment;
}
对象整体使用,
  • 1.gradle引入 'org.springframework.boot:spring-boot-configuration-processor'
  • 2.在properties文件中定义好配置字段合集
  • 3..新建一个bean类,定义好字段和其setter,getter,在该类上加上注解
@ConfigurationProperties(prefix = "cn.tocute.env")
class EnvBean{}
  • 4.在主类入口加上注解@EnableConfigurationProperties,并指明加载的bean类。
@EnableConfigurationProperties({EnvBean.class})
@SpringBootApplication
public class App {}

3. application.properties 文件编码类型为ISO8859-1

application.properties一般不支持中文,因为其默认编码在jdk11以下为ISO8859-1,如果要只用中文值,则一般需要转换成形如\u1212的ascii码(unicode-escapes).

因为utf-8在英文字符兼容ISO8859-1,所以utf-8编码的配置文件如果全是英文字符,也可以被正确读取.

读取application.properties的类是:

org.springframework.boot.env.PropertiesPropertySourceLoader.loadProperties()

org.springframework.core.io.support.PropertiesLoaderUtils.loadProperties(org.springframework.core.io.Resource)

org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties(java.util.Properties, org.springframework.core.io.Resource)

java.util.Properties.load(java.io.InputStream)

在jdk8中大约447行这里,使用ISO8859-1编码读取配置文件

    if (inStream != null) {
        //The line below is equivalent to calling a
        //ISO8859-1 decoder.
        c = (char) (0xff & inByteBuf[inOff++]);
    }

相关文章

  • application.properties的简单用法及编码格式

    application.properties的简单用法及编码格式问题 配置文件有三种:xml properties...

  • Swift-11:protocol

    本文主要分析protocol的用法及底层存储结构 协议的基本用法 【语法格式】:协议的语法格式 class、str...

  • 格 式 编 码 详 解

    第一章:视频编码必备知识点(以Davinci及QT格式为例) 一、封装格式VS编码格式 在DaVinci Reso...

  • 多媒体开发(12):解码aac到wav文件

    简单来说,aac是一种音频编码格式,需要解码后才能用于音频输出。aac编码格式,已经是一种很常见的音频编码格式,以...

  • Html5 音视频

    音视频基础知识 简单理解- 视频:连续的画面,特定格式编码,媒体流形式- 音频:特定格式编码,媒体流形式 格式- ...

  • assert语句

    使用assert语句是python编程一个非常好的习惯,python assert 句语格式及用法很简单,如下所示...

  • python assert的作用

    使用assert断言是学习python一个非常好的习惯,pythonassert 断言句语格式及用法很简单。在没完...

  • 深入计算机系统---程序的机器级表示

    一、汇编语言与机器语言简单介绍 简单讲 二、程序编码以及数据格式 程序编码,数据格式 我们在写 C 程序时,处理器...

  • Clean Code 阅读笔记四

    格式 日常编码中,需要保持良好的编码格式,自己选择简单好用规则,一致保持下去。团队合作中,成员们应该经过商量探讨从...

  • mysql表编码相关操作

    1、查看所有字段的编码格式: 2、查看表的编码格式: 3、修改数据库的编码格式: 4、修改表的编码格式 5、修改字...

网友评论

      本文标题:application.properties的简单用法及编码格式

      本文链接:https://www.haomeiwen.com/subject/pwmoxdtx.html