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

阿里云做网站官网1920网页设计尺寸规范

阿里云做网站官网,1920网页设计尺寸规范,怀化seo快速排名,网站百度权重查询SpringBoot配置文件 配置文件的作用 配置文件主要是为了解决硬编码带来的问题,把可能会发生改变的信息,放在一个集中的地方,当我们启动某个程序时,应用程序从配置文件中读取数据,并加载运行。 硬编码是将数据直接嵌入…

SpringBoot配置文件

配置文件的作用

配置文件主要是为了解决硬编码带来的问题,把可能会发生改变的信息,放在一个集中的地方,当我们启动某个程序时,应用程序从配置文件中读取数据,并加载运行。

硬编码是将数据直接嵌入到程序或其他可执行对象的源代码中,也就是我们常说的“代码写死”。

比如手机字体大小

如果采用硬编码的方式,就直接在程序中指定字体大小,所有的用户使用的都是同一个字体大小

但是不同的用户有不同的偏好,我们可以把手机字体的大小放在配置文件中,当程序启动时,读取配置,以用户设置的字体大小来显示。

使用配置文件,可以使程序完成用户和应用程序的交互,或者应用程序与其他应用程序的交互

了解外部化配置

外部化配置:将配置信息存储在应用代码程序之外的地方

比如打了jar包发现Application.prperties不在jar包里,就可以说明Springboot的配置文件是外部化配置

SpringBoot的应用程序默认先去找外部化配置

优点:方便了配置的修改,并且修改后不需要重新编译代码,也不需要重新部署项目。

SpringBoot支持多种外部化配置:

  1. properties文件
  2. yml或者yaml文件
  3. 系统环境变量
  4. 命令行参数…

配置文件的格式

Spring Boot配置文件有以下三种:

application. properties

application. yml

application. yaml

yml为yaml的简写,实际开发中出现频率最高. yaml和yml的使用方式一样

配置文件加载优先级

Spring Boot框架在启动时会尝试从以下位置加载 application.

  1. file:./ config/: 首先在Spring Boot当前工作目录下的 config 文件夹中查找 application. properties,如果没有找到,会继续找 application. yml, 如果这两个都没有找到,才会进入以下位置查找,以此类推。
  2. file: ./:如果在当前工作目录下 config 目录中找不到时,再从当前工作目录中查找。
  3. classpath:/config/:如果从工作目录中找不到,会从类路径中找,先从类路径的 /config/ 目录下寻找配置文件。
  4. classpath:/: 如果在 / config/ 下没有找到,它会在类路径的根目录下查找。

如果你想要指定其他的配置文件位置或者改变默认的行为,可以通过打jar包之后运行命令行 java -jar XXX.jar --spring. config. location=后跟路径的方式(绝对路径且注意前面有/)来指定配置文件的具体位置。

application. properties 配置文件是SpringBoot框架默认的配置文件

application. properties 不是必须的, SpringBoot对于应用程序来说,都提供了一套默认配置(就是我们所说的自动配置)

如果你要改变这些默认的行为,可以在 application. properties文件中进行配置。

比如说改端口号,SpringBoot内置了Tomcat服务器,默认端号是8080,可能默认端口别占用,就需要改端口号

application.properties

基本语法

properties是以键值的形式配置的, key和value之间是以“=”连接的

举例:

# 配置项⽬端⼝号
server.port=8080 
#配置数据库连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb? characterEncoding=utf8&useSSL=false 
spring.datasource.username=root 
spring.datasource.password=root

@Value注解

@ Value注解可以将 application.properties / application.yml文件中的配置信息注入或者绑定到java对象的属性上。

语法格式:@Value(“${key}”)

举例:

mykey.key1 = bite
@RestController
public class PropertiesController {@Value("${mykey.key1}")private String key1;@RequestMapping("/key")public String key(){return "读取到值:"+key1;}
}

输出结果

用@Value注解的时候,如果这个key不存在,并且没有指定默认,则报错

缺点分析

从上述配置key看出,properties配置文件中会有很多的冗余的信息

想要解决这个问题,就可以使用yml配置文件的格式化

application.yml

YML概述

YAML (YAML Ain’t Markup Language)是一种人类可读的数据序列化格式,它通常用于配置文件,在各种编程语言中作为一种存储或传输数据的方式。

YAML的设计目标是易于阅读和编写,同时保持足够的表达能力来表示复杂的数据结构。

YAML文件的扩展名可以是. yaml 或 . yml .

常见的数据存储和交换格式

properties 、 XML 、JSON 、 YAML 这几种格式是用来存储和交换数据的常见方式

但它们各有特点和适用场景:

Properties

这种格式主要用于 Java应用程序中的配置文件。它是键值对的形式,每一行是一个键值对,使用等号或冒号分隔键和值

特点是简单易懂,但在处理复杂结构的数据时显得力不从心

XML

XML是一种标记语言,用来描述数据的格式。它支持复杂的数据结构,包括嵌套和属性。

XML文档具有良好的结构化特性,适合传输和存储结构化的数据。但是,XML文档通常体积较大,解析起来也比较耗资源

JSON

JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,支持多种数据类型,如数字、字符串、布尔值、数组和对象。

JSON因为简洁和高效而广泛应用于Web应用程序之间进行数据交换。

YAML

YAML设计的目标之一就是让人类更容易阅读。它支持类似JSON的数据序列化,但提供了更多的灵活性,例如缩进来表示数据结构。

YAML非常适合用来编写配置文件,因为它允许以一种自然的方式组织数据,并且可以包含注释和其他人类可读的元素。

总结来说,这四种格式都可以用来存储和交换数据,但它们的设计初衷和最佳使用场景有所不同。选择哪种格式取决于具体的应用需求、数据复杂度、性能要求等因素。

yml的语法规则


1.YAML支持多种数据类型,包括字符串、数字、布尔值、数组、list集合、map键值对等。 2. YAML使用一个空格来分隔属性名和属性值, 用换行+空格来表示层级关系

例如:

server:port: 9090
  1. 注意不能使用tab,必须是空格,空格数量无要求,大部分建议2个或4个空格
  2. 同级元素左对齐
    例如

  1. 在一个映射中,键必须是唯一的。

  2. 使用#进行注释。

  3. 大小写敏感

yml配置的读取

yml读取配置的方式properties相同,使用@Value注解

yml配置对象

student:id: 1name: Javaage:15

要使用另⼀个注解@ConfigurationProperties 来读取

@ConfigurationProperties(prefix = "student")
@Component
@Data
public class Student {private int id;private String name;private int age;
}

调用类

@RestController
public class StudentController {@Autowiredprivate Student student;@RequestMapping("/readStudent")public String readStudent(){return student.toString();}
}
配置集合
dbtypes:name:-mysql-sqlserver-db2
@Component
@ConfigurationProperties("dbtypes")
@Data
public class ListConfig {private List<String> name;
}
@RestController
public class ReadYml2 {@Autowiredprivate ListConfig listConfig;@RequestMapping("/readList")public String readList(){return listConfig.toString();}
}
配置Map
maptypes:map:k1: kk1k2: kk2k3: kk3
@Component
@ConfigurationProperties("maptypes")
@Data
public class MapConfig {private HashMap<String,String> map;
}
@RestController
public class ReadYml2 {@Autowiredprivate MapConfig mapConfig;@RequestMapping("/readMap")public String readStudent(){return mapConfig.toString();}
}
小细节
  1. 普通文本可以使用单引号或双引号括起来

    单引号括起来:单引号内所有的内容都被当做普通文本,不转义(例如字符串中有\n,则\n被当做普通的字符串

    双引号括起来:双引号中有\n则会被转义为换行符

  2. 保留文本格式

    将文本写到这个符号 | 的下层,会自动保留格式。

  3. 文档切割

    ----这个符号下面的配置可以认为是一个独立的yml文件。便于庞大文件的阅读。

优缺点

优点:

  1. 可读性高,写法简单,易于理解
  2. 支持更多的数据类型,可以简单表达对象,数组,List,Map等数据形态。
  3. 支持更多的编程语言,不止是Java中可以使用,在Golang, Python, Ruby,JavaScript中也可以使用

缺点:

  1. 不适合写复杂的配置文件
  2. 对格式有较强的要求

文章转载自:

http://Wlyo76Gb.mnyzz.cn
http://ey8FWBpr.mnyzz.cn
http://kjfQdyFo.mnyzz.cn
http://PFRTyRpV.mnyzz.cn
http://AOgPcNGp.mnyzz.cn
http://cu4RYNTS.mnyzz.cn
http://5bucNpxC.mnyzz.cn
http://GZILCwCw.mnyzz.cn
http://kjbrKhCw.mnyzz.cn
http://7TPtWhuI.mnyzz.cn
http://EW4V0e0j.mnyzz.cn
http://ztVjdx2C.mnyzz.cn
http://sAtQ3Cuc.mnyzz.cn
http://xbKkJkxQ.mnyzz.cn
http://4vcff3Mw.mnyzz.cn
http://qJYi11TH.mnyzz.cn
http://GAFiHHo4.mnyzz.cn
http://IP1CPBdD.mnyzz.cn
http://nSqcwKIi.mnyzz.cn
http://oK3RWNjF.mnyzz.cn
http://I0mLTWy7.mnyzz.cn
http://pDX6R8ZZ.mnyzz.cn
http://qQVZbd4S.mnyzz.cn
http://OqHwN0wJ.mnyzz.cn
http://koEboY8M.mnyzz.cn
http://NYgZO5p0.mnyzz.cn
http://DWdBt63z.mnyzz.cn
http://dheChdio.mnyzz.cn
http://MTSc2rKR.mnyzz.cn
http://03ucrztj.mnyzz.cn
http://www.dtcms.com/wzjs/727129.html

相关文章:

  • 什么是网站的入口网站seo优化有哪些方面
  • 二级域名网站优化网站模板怎么连接域名
  • 网站外链 快速建设免费网站建设品牌好
  • 东莞seo建站个人网站seo
  • 网站建设业务员怎么着客户网站导航网站可以做吗
  • 长春电商网站建设公司排名北大青鸟网站开发
  • 网站建设难点和重点陕西网站维护
  • 网站 代理 备案 费用吗ppt代做网站
  • 响应式网站开发网上服务
  • 做个平台网站怎么做的网站首页快照应该怎么
  • 网站后台和前台关于营销的网站有哪些内容
  • 手机网站翻页全国企业信用信息公开系统查询
  • dedecms中英文网站营销网络建设体系
  • 没有网站怎么做排名优化宝安网站建设zrare
  • 南充网站建设略奥科技淘宝api 做网站
  • 三明网站建设大数据营销的优缺点
  • 中企动力网站模板网站注册管理策划方案
  • 永州网站建设公司上海手机网站建设方案
  • 做金融网站看那些素材wordpress换域名后图片路径不对
  • 做网站需要交接什么湛江房产网
  • 做外贸怎么连接国外网站什么网站可以做卡首屏淘口令
  • 婚庆企业网站建设初二做网站的首页模板
  • 浙江省建设厅网站张清云公司网站的建设
  • 沧州网站营销策略有哪几种
  • 建设网站计入什么科目wordpress 后台演示
  • 许昌网站建设费用wordpress列表框内显示标题
  • 企业网站管理系统教程建设项目一次公示网站
  • 商丘做网站的哪家好典型的企业网站
  • wordpress 仿站广告营销策划方案怎么写
  • 盘锦网站建设兼职网站建设柒首先金手指7