| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Spring Boot 配置文件 -> 正文阅读 |
|
[Java知识库]Spring Boot 配置文件 |
文章目录配置文件的作用就是 比如启动一个项目,默认情况下 Tomcat 会占用 8080 端口,但是有些时候会因为 8080 端口已经被占用了,导致启动项目失败,解决办法要么是先查到占用端口的进程,然后从任务管理器中关闭进程,要么就是就重新设置端口号,然而一般的重置端口号的过程并不方便。 但是在配置文件中只要写一句 server.port=XXXX,启动项目,就可以发现端口号已经被改成 XXXX ,方便的很 还有 Spring Boot 常用的配置文件的格式有两种:
这两种配置文件的格式是可以同时存在于一个项目中的,如果两配置文件中有同样的配置(比如都配置端口信息),此时会以 加载完 .properties 文件后,就会加载 .yml 文件 一个项目中可以存在很多 properties 文件(yml 文件),名字可以随便起,但是 Spring Boot 项目启动时,只会自动加载名字为 实际业务中,一般会统一使用其中一种配置文件的格式,可以降低故障率 官网:查看更多系统配置项 一、properties 文件在学习 .properties 文件之前,需要先装一个插件 1.1 properties 基本语法properties 是以键值对的形式配置的,key 和 value 之间只要
注意:等号
1.2 读取配置文件在项目中读取配置文件中的内容,可以通过 该注解需要使用 代码展示
注意 @Value 注解中的内容如果用双引号直接包含起来,表示设置一个具体的 value 值而不是配置文件中的 key ; 只有加上 ${} 才会读取到配置信息中的 key 值(server.port),将 key 值对应的 value 值(9090)赋值给 port 变量; 结果展示 1.3 properties 缺点在上面配置数据库的信息时,会发现有很多的 二、.yml 文件yml 文件就很好的解决了 properties 文件的缺点,可读性高,也易于理解,还可以表达数组、对象等数据形态,而且还跨语言,除了 Java,golang、python 都可以使用该类型的配置文件 2.1 yml 基本语法yml 是树形结构的配置文件
注意:key 和 value 之间有一个英文的冒号
通过例子,可以发现 yml 文件可以很好解决 properties 文件的代码冗余问题 通过 2.2 yml 的运用yml 支持字面值、对象、数组等数据结构,也支持它们的复合结构 2.2.1 字面值包括字符串、布尔类型、整形(包括各种进制)、浮点型(包括科学计数法)、null等 配置信息
yml 文件中读取配置信息也可以使用 @Value 注解,同 properties 用法相同 代码展示
结果展示 注意:yml 中的 null 不是指值为 null ,而是指什么都没有的意思,因此打印出来内容是空的 关于字符的特殊说明 在 yml 中如果字符串使用了 如果字符串添加的是 配置文件
代码展示
结果显示 2.2.2 对象yml 中可以配置对象,这是 properties 文件中所没有的 配置文件
注意:无论方式一还是方式二都需要在 key 和 value 间加上英文冒号以及一个空格,方式二创建对象的方式适合于属性较少时,方式一在属性较多时会更加的直观 代码展示 想要获取到配置文件中对象的信息,可以通过之前的 @Value 注解的方式,但是这样的话,对象有多少个属性,就会需要写多少个 @Value ,会非常的麻烦 所以,可以通过其他方式将对象中的内容一下子读取到某个类中,然后通过注入的方式获取到类中的信息 首先,创建一个 Article 类 通过 需要注意的是
然后,进行 需要使用 @Autowired 注解或者 @Resource 注解将 Article 类注入到依赖它的类中,这里使用的前者注解。注入方法这里使用的是属性注入
结果展示 2.2.3 数组配置文件
在 拿方法一的案例来说,就相当于说有一个 Key 值为 book-list,key 值下面有一个 books 属性,该属性里面存储了三个信息:Java书、Python书、C++书 需要注意的是方法一中的命名方式,由于 SpringBoot 2.X 版本对配置文件中的命名规范有强制性的要求,不允许使用驼峰形式(比如bookList),需要按照提示说的那样使用 - 代替 代码显示 首先,创建一个 BookList 类 同样可以通过 属性名 books 需要和配置文件中 key 为 book-list 的 value 中的属性名相对应 同样也需要
然后,进行依赖的注入
结果显示 三、properties 和 yml 区别总结
完~~~ |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 17:05:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |