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

温州网站优化搜索重庆渝能建设集团有限公司网站

温州网站优化搜索,重庆渝能建设集团有限公司网站,网站建设维护培训会上的讲话,中国化工建设网站目录 引言 Spring Boot 配置文件 properties 配置文件说明 基本语法 读取配置文件 优点 缺点 yml 配置文件说明 基本语法 读取配置文件 yml 配置不同数据数据类型及 null 字符串 加单双引号的区别 yml 配置 列表#xff08;List#xff09; 和 映射#xff08;…目录 引言 Spring Boot 配置文件 properties 配置文件说明 基本语法 读取配置文件 优点 缺点 yml 配置文件说明  基本语法 读取配置文件 yml 配置不同数据数据类型及 null 字符串 加单双引号的区别 yml 配置 列表List 和 映射Map yml 读取映射Map 读取映射Map 读取 映射列表 组合 总结  properties 和 yml 配置文件的区别 不同环境中的配置文件  引言 Spring Boot 配置文件 主要是用来写 系统配置文件 例如 端口号设置、数据库连接设置、用户自定义配置文件 等文件格式有两种 注意 properties 配置文件是最早的配置文件格式也是 Spring Boot 项目的默认配置文件如果在 properties 配置文件 和 yml 配置文件中出现了同样的配置那么 Spring Boot 会以 properties 中的配置为主因为 properties 配置文件的优先级最高即 先加载完 properties 配置文件才会加载 yml 配置文件虽然理论上 properties 配置文件 和 yml 配置文件可以共存但通常会采取统一的配置文件格式 properties 配置文件说明 基本语法 properties 是以键值对的形式进行配置的key 和 value 之间通过 连接 # 配置端口号 server.port 8080# 配置数据库连接信息 spring.datasource.url mysql://127.0.0.1:3306/test?characterEncodingutf8 spring.datasource.username root spring.datasource.password 1111# 用户自定义配置 myname xiaolin 通过 # 给配置文件添加注释信息关键字之间的 . 为层次结构的分隔符用于表示配置属性的层级关系 读取配置文件 通过 Value 注解 加上固定格式 ${ } 来读取配置文件如果不使用固定格式直接在中写字符串则直接将该字符串赋值给其标记的变量此处我们读取上述文件中自定义配置的 myname 关键字 import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct;Component public class ReadProperties {Value(${myname})private String name;PostConstructpublic void printName() {System.out.println(我的名字是 name);} } 运行结果 注意 PostConstruct 是 Java 中的一个注解它用于标记一个方法在实例化一个对象后该方法会在依赖注入完成后被自动调用被 PostConstruct 注解标记的方法不能有任何参数并且不能声明为静态方法 优点 系统默认的配置文件 properties 配置项的优先级比 yml 高格式简单key value 格式、不容易出错 缺点 写法存在冗余信息 关于 properties 配置文件 的中文编码问题 当你在 properties 配置文件中使用 # 加上了一些中文注释那么可能会存在一个问题当你将当前项目文件关闭之后再次重新使用 IDEA 打开该文件时你的中文注释可能会变为乱码 解决步骤 1. 打开当前项目的设置 2. 按下图所示更改配置 3. 配置 下次创建新文件项目 的设置 4. 重复第二步的操作 5. 删除原 application.properties 文件 6.重新再创建一个 application.properties 文件 输入 application.properties敲击回车键 即可 yml 配置文件说明  yml 格式可读性更高、写法更简洁、便于理解支持更多的数据类型如 清单数组、散列表、标记等数据形态支持更多的编程语言如 Java、Golang、PHP、Python、Ruby、JavaScript、Perl 等 基本语法 yml 是树形结构的配置文件它的基础语法是 keyvalue注意 key 和 value 之间使用 英文冒号 空格 方式组成空格一定不可省略 # 配置端口号 server:port: 8888# 连接数据库 Spring:datasource:url: mysql://127.0.0.1:3306/test?characterEncodingutf8username: rootpassword: 1111 读取配置文件 与 properties 读取配置文件相同使用 Value 注解此处读取上述配置的端口号 import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;Component public class ReadYml {Value(${server.port})private Integer port;PostConstructpublic void printPort() {System.out.println(配置的端口号是 port);} } 运行结果 yml 配置不同数据数据类型及 null # 字符串 string.value: nihao# 布尔值 true or false boolean.value1: true boolean.value2: false#整数 int.value1: 20 #二进制 int.value2: 0b1100_1110_1010_1000_1111#浮点数 float.value1: 2.716 #科学计数法 float.value2: 2716e-3# ~ 代表 null null.value: ~ 字符串 加单双引号的区别 在 yml 中不加引号的效果与加单引号的效果相同均会将特殊字符自动转义成原始字符双引号则区别于前面两者即不会将特殊字符自动转义成原始字符例如 \n 在双引号中表示换行 实例理解 yml 中配置文件如下所示 string:str1: hello \n world!str2: hello \n world!str3: hello \n world! 通过 Value 注解分别读取 import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;Component public class ReadYml {Value(${string.str1})private String str1;Value(${string.str2})private String str2;Value(${string.str3})private String str3;PostConstructpublic void printString() {System.out.println(str1);System.out.println(str2);System.out.println(str3);} } 运行结果 yml 配置 列表List 和 映射Map # name list列表 name-list1:- 小林- 小王- 小美# name list列表 写法二(行内写法) name-list2: [小林小王小美]  上述示例中 name-list1 和 name-list2 是一个包含三个字符串的 元素列表List其中  - 小林 小林 和 - 符号直接必须有空格其他亦是如此 # student map映射 写法一 student1:id: 1name: xiaolinage: 20# student map映射 写法二 (行内写法) student2: {id: 1,name: xiaolin,age: 20}  上述示例中 student1 和 student2 是一个包含三个键值对的映射 (Map)此处的 映射Map 可以简单理解为 yml 中的 student 对象  # name map映射 list列表 name-map3:class1:- 小林- 小王class2: 小美# name map映射 list列表 写法二 (行内写法) name-map4: {class1: [小林小王], stu2: 小美} 上述示例中 name-map3 和 name-map4 是一个 映射Map其包含两个键值对键 class1 对应的值是一个列表List包含两个字符串元素小林 和 小王键 class2 对应的值是一个字符串 小美 # name list列表 map映射 name-list3:- name: 小林age: 20- name: 小王age: 19# name list列表 map映射 写法二 (行内写法) name-list4: [{name: 小林, age: 20}, {name: 小王, age: 19}] 上述示例中 name-list3 和 name-list4 是一个列表List其包含两个映射Map每个映射Map都有 name 和 age 两个键值对  yml 读取映射Map 在 yml 配置文件中读取映射Map不能使用 Value 注解需使用 ConfigurationProperties 注解来读取此注解的参数是一个键值对形式形如 prefix 映射名称或不写键值对形式直接写 映射名称 也 OK该注解需要搭配与该映射相对应的实体类该实体类有如下要求属性名必须要以 yml 配置中的 key 值一致必须要有 setter 和 getter 方法因为需要这两个方法初始化实体类对象 读取映射Map  实例理解 为了读取上述的 student1 映射Map此处我们创建一个 Student 实体类此处我们使用 LomBok 的 Data 注解来提供 setter 和 getter 方法 import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;//# student map映射 写法一 // student1: // id: 1 // name: xiaolin // age: 20//ConfigurationProperties(student1) 写成该形式也是 OK 的 ConfigurationProperties(prefix student1) Component Data public class Student {public int id;public String name;public int age; } 此处我们创建 ReadStudent 类来调用该实体类 import com.example.demo.enity.Student; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;Component public class ReadStudent {Autowiredprivate Student student;PostConstructpublic void printStudent() {System.out.println(student.toString());} } 运行结果 读取 映射列表 组合 实例理解 先创建一个对应的 nameMap3 类并在该类中定义一个用于存储列表的属性 import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import java.util.List;//# name map映射 list列表 // name-map3: // class1: // - 小林 // - 小王 // class2: 小美ConfigurationProperties(name-map3) //ConfigurationProperties(prefix name-map3) Component Data public class NameMap3 {private ListString class1;private String class2; } 再创建一个 ReadNameMap3 类来调用 nameMap3 类的属性 calss1 和 class2 import com.example.demo.enity.NameMap3; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct;Component public class ReadNameMap3 {Autowiredprivate NameMap3 nameMap3;PostConstructpublic void printNameList1() {System.out.println(nameMap3.toString());} } 运行结果 总结  properties 和 yml 配置文件的区别 数据格式properties 是以 keyvalue 的形式配置的键值类型的配置文件而 yml 使用的是类似 json 格式的树形配置方式进行配置的yml 层级之间使用换行缩进的方式配置且 value 前的空格不可省略数据类型yml 支持更多的数据类型通用性yml 的通用性更好支持更多语言如 Java、Go、Python 等如果是云服务器开发可以使用一份 配置文件作为 Java 和 Go 的共同配置文件优化properties 作为早期并默认的配置文件格式存在一定的冗余数据使用 yml 可以很好的解决冗余问题 不同环境中的配置文件  在实际工作中一般会存在两种环境分别为 生产环境 和 开发环境针对这两种环境我们需要使用不同的 yml 配置文件application-dev.yml (开发环境) application-prod.yml (生产环境)此处的文件开头 application- 是固定的其分隔符后可自定义名称 spring:profiles:active: dev 在 application.yml 配置文件中加上 该代码 便可实现运行 dev 即开发环境的配置文件如果想运行 生产环境将 dev 替换为 prod 即可
http://wiki.neutronadmin.com/news/301014/

相关文章:

  • 家乡网站策划书建设背景淄博网站制作多样定制
  • 网站建立的公司做网站官网需多少钱
  • 龙港网站建设北京移动端网站设计
  • 无锡外贸网站制作公司做网站到底需要什么
  • 甘肃建投土木工程建设有限公司网站后台江西建设银行分行网站
  • 怎么在境外做网站晋江是哪个省的城市
  • 电子商务网站建设与维护pdf海口哪里做网站公司
  • 广州做网站哪家专业网站开发的项目背景
  • 做网站开源框架下载源代码建网站
  • 钱宝网站怎么做任务专业的外贸行业网站设计
  • 中国农村建设投资有限公司网站首页网站的建设课程
  • 网站全是乱码做网站需要准备什么条件
  • 网站规划与设计就业青海省建设厅勘察设计备案网站
  • 广州网站制作网站wordpress可视化编辑页面
  • 房产网站排行榜柒零叁网站建设湖南长沙
  • 如今做哪些网站致富大连头条热点新闻
  • 网站如何设置关键词怎样下载模板网站
  • 江苏广泽建设有限公司网站做网站的费用的会计分录
  • 网站建设广告方案代刷网站推广
  • 做教程网站如何查用户搜索美宜佳企业网络营销推广方式
  • 威海网站设计公司微信服务号菜单链接网站怎么做的
  • 织梦cms网站模板西安wordpress建站
  • 深圳市专业网站建设专业的专业的网页制作公司
  • 漳州那里有做网站信息网络犯罪
  • 网站建设带购物车云服务器和网站空间
  • 自动发卡网和卡密兑换网站开发视频教程网站代理网站
  • 网站申请书财务软件做账流程新手必看
  • 重庆建设公司网站ps做的网站稿怎么做成网站
  • 建设工程个人信息采集哪个网站品牌设计全案
  • ppt模板怎么做 下载网站公司注册地址和实际不一样可以吗