【Spring】Spring Boot 配置文件(7)

打印 上一主题 下一主题

主题 1944|帖子 1944|积分 5832

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本系列共涉及4个框架:Sping,SpringBoot,Spring MVC,Mybatis。

博客涉及框架的重要知识点,根据序号学习即可。

有什么不懂的都可以问我,看到消息会回复的,大概会不及时,请见谅!!

1、配置文件作用

1.1 配置文件的重要性

盘算机上有数以千计的配置文件,其主要目标是为了解决硬编码【硬编码的意思就是将数据直接嵌入到程序或者其他可实行对象的源代码中,简朴来说就是“代码写死”】带来的题目,把大概会发生改变的信息,放在一个会合的地方,当我们启动某个程序时,应用程序从配置文件中读取数据,并加载运行。

1.2 Spring Boot配置文件

(1)Spring Boot支持并定义了配置文件的格式,也在另一个层面达到了规范其他框架集成到Spring Boot的目标
(2)很多项目或者框架的配置信息也放在配置文件中,好比:项目标启动端口、数据库的连接信息(包含用户名和密码的设置)、第三方系统的调用密钥等信息、用于发现和定位题目的平凡日志和非常日志等



2、配置文件格式与优先级

2.1 Spring Boot配置文件格式

(1)application.properties
(2)application.yml
(3)application.yaml
yml为yaml的简写,实际开发中出现频率最高,但是它的格式非常严格,一个空格也大概会导致出错。yaml和yml的使用方式一样的,以是只讨论前两个就好了


2.2 配置文件的优先级

理论上讲,.properties和.yml可以并存在一个项目,当.properties和.yml并存时,两个配置都会加载。假如配置文件有冲突,则以.properties为主,也就是.properties优先级更高



3、使用application.properties举行配置

3.1 基本语法

(1)properties配置文件是最早期的配置文件格式,也是创建SpringBoot项目默认的配置文件
(2)properties是以键值对的形式配置的,key和value之间用等号连接
(3)例子
ps:#号后为解释
  
  1. # 配置项目端口号
  2. server.port=9090
  3. # 配置数据库的连接信息
  4. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/db?characterEncoding=utf8&useSSL=false
  5. spring.datasource.username=root
  6. spring.datasource.password=root
复制代码
3.2 读取配置文件

假如在项目中,想要主动读取配置文件的内容,可以使用@Value注解来实现,@Value注解使用"${ }"的格式读取

可以在方法上添加该注解,然后在方法中可以获取需要的配置文件的内容

3.3 properties使用缺点

很显着通过上面的例子可以看出来,properties文件中会有很多重复的、冗余的信息。为了解决这个题目,就可以使用yml配置文件的格式化了。



4、使用application.yml文件举行配置

4.1 基本语法

(1)yml是YAML(Yet Another Markup Language)的缩写,翻译成中文就是“另一种标记语言”。
(2)yml的基础语法:是以“Key: Value”的形式存在的。key和value之间使用英文冒号和空格的方式,空格不可省略。这里就能感觉到yml文件的劣势就是格式要求非常严格,一个简朴的空格就会导致配置文件读取失败。

4.2 使用yml连接数据库

  1. spring:
  2.   datasource:
  3.     url: jdbc:mysql://127.0.0.1:3306/mybatisdb?characterEncoding=utf8&useSSL=false
  4.     username: root
  5.     password: 123456
  6.     driver-class-name: com.mysql.cj.jdbc.Driver
复制代码

4.3 yml配置不同的数据范例及null



        4.3.1 yml配置读取

        yml读取配置的方式和properties雷同,使用@Value注解即可,@Value注解使用"${ }"的格式读取
        4.3.2 value值加单双引号

        字符串默认不用加上单引号或者双引号,假如加英文的单双引号可以表示特殊的含义。
        (1)单引号会转义特殊字符,使其失去特殊功能,始终是一个平凡的字符串
        (2)双引号不会转义字符串内里的特殊字符,特殊字符会表示本身的含义
举例:\n使用单引号的话,就不表示换行了,是一个平凡的字符串,而\n使用双引号括起来表示它本身的含义,就是换行
4.4 配置对象

在yml中配置

这个时候不能用@Value来读取配置中的对象了,此时要使用另一个注解@ConfigurationProperties来读取


4.5 配置集合





4.6 配置Map





4.7 yml 优缺点

(1)优点:
①可读性高,写法简朴,易于理解
②支持更多的数据范例,可以简朴表达数组、对象、List、Map等数据形态
③支持更多的编程语言,不局限于Java,还可以在Python、Ruby、Golang等中使用
(2)缺点:
①不适合写复杂的配置文件
②格式十分严格

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

钜形不锈钢水箱

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表