目录 1. Spring Boot 项目创建 2. 写一个 Hello World 并运行 3. 配置文件的作用及格式 4. properties 配置文件的基本语法 5. 读取配置文件 6. yml 配置文件说明 7. properti
目录
spring的出现是为了简化 Java 程序开发,而 SpringBoot 的出现是为了简化 Spring 程序开发.
SpringBoot 就是 Spring脚手架
我这里是专业版,不用下载插件直接可以创建
第一次打开 SpringBoot 项目需要加载很久, 因为当前 SpringBoot 框架并没有在自己的本地仓库
(2) 选取 SpringBoot 的版本, 和需要使用的工具包
(3) Finish后,可以看到创建成功了,直接运行一下,如果出现这个 JVM运行时间就说明创建成功了
(4) 删除掉无用的目录
(1) 创建一个类,注意和 Application 平级,写一个方法,返回 Hello World
然后直接运行,页面输入 127.0.0.1:8080/sayhi 可以看到访问成功了
(1) 在整个项目中所有重要的数据都是在配置文件中配置的, 比如:
在 Spring Boot 项目中如果没有配置信息,就不能连接和操作数据库, 甚至是不能保存可以用于排查问题的关键日志, 所以配置文件的作用是非常重要的
(2) 配置文件的分类:
- 系统的配置文件, 比如: 连接字符串, 日志的相关设置
- 用户自定义的
(3) 配置文件的格式
- . properties
- . yml
一个项目中可以存在两种配置文件 (properties 和 yml) , 但是不建议这样搞
当一个项目的某个配置, 出现在两种格式的配置文件中时, 那么配置项会以 properties 为主
如果此时修改了配置文件的名字, 重新运行程序, 就访问不到了
properties 是以键值的形式配置的, key=value 中间是以 "=" 连接的
关于 properties 中文乱码的问题处理
因为 properties 是早期的配置文件, 不支持中文, 所以比如当重启 idea 后, 中文就会乱码
可以设置一下
(1) 配置当前项目中文乱码的问题
(2) 配置新项目中文乱码的问题
如果在项目中, 想要主动读取配置文件中的内容, 可以使用 @Value 注解来实现
@Value 注解使用 "${}" 的格式读取
可以看到如果要读取多个配置文件中的信息, properties 配置文件中会有很多的容易信息, 比如
要想解决这个问题, 就可以使用 yml 配置文件的格式化了
yml 意思是"另一种标记语言", yml 是一个可读性高, 易于理解,用来表达数据序列化的格式. 特别适合用来表达或编辑数据结构, 各种配置文件等. yml 最大优势是可以跨语言, 比如 golang java python 都可以使用 yml 作为配置文件
(1) yml 基本语法
yml 是树形结构的配置文件, 基础语法是 "key: value", 注意 中间使用冒号和空格连接的,空格不要省略
(2) yml 配置不同的数据类型
# 字符串string.value: hello# 布尔值boolean.value: true# 整数int.value: 10# 浮点数float.value: 3.14159# Null, ~ 表示 nullnull.value: ~
(3) yml 单双引号的问题
(4) 配置对象
在 yml 中配置对象, 这个时候需要使用注解 @ConfigurationProperties 来读取
(5)配置集合
配置文件也可以配置 list 集合
- properties 是以 key=value 的形式配置的键值类型的配置文件, 而 yml 使用的是类似于 JSON 格式的配置方式, key: value 中间用冒号和空格连接
- properties 是早期并且也是默认的配置文件格式, 这种方式存在一定的冗余数据, yml 可以很好的解决这种冗余问题
- yml 通用性更好,支持更多语言, 并且支持更多的数据类型
日志是程序的重要组成部分,当程序报错是就可以通过,日志来发现和定位问题,并且日志的作用还有
Spring Boot 项目在启动的时候就有默认的日志输出
如果这个默认的日志输出,就可以发现问题
自定义打印日志的实现步骤:
- 在程序中得到日志对象
- 使用日志对象的相关语法输出要打印的内容
可以看到这里日志打印只出现了三个, 这是因为默认的日志级别是 info 的, 这里只会输出级别大于等于 info 的
package com.example.demo;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controller@ResponseBodypublic class UserController2 { // 1.先得到日志对象 (设置当前类的类型) private final static Logger log = LoggerFactory.getLogger(UserController2.class); @RequestMapping("/sayhii") public void sayHii() { // 2.使用日志对象提供的方法进行打印 log.trace("trace 最小"); log.debug("debug 调试"); log.info("info 普通"); log.warn("warn 警告"); log.error("error 错误"); }}
日志级别可以帮助筛选出重要的信息
- trace: 微量, 少许, 级别最低
- debug: 调试日志
- info: 普通信息日志
- warn: 警告日志
- error: 错误日志
- fatal: 致命的日志, 系统输出的, 不能自定义打印
当存在局部日志级别和全局日志级别设置时, 那么当访问局部日志时, 使用的是局部日志级别,
局部日志级别优先级 > 全局的日志级别
# 设置全局的日志级别 (properties)logging.level.root=info# 设置局部文件夹的日志级别logging.level.com.example.demo.controller=trace
# 全局日志级别的配置 ymllogging: level: root: error
日志持久化: 将日志永久的保存到磁盘的某个位置, 有两种方式
- 在配置文件中设置日志的保存路径, 当设置了保存路径之后, 那么日志就会自动的进行持久化
- 在配置文件中设置日志保存的名称, 日志会自动进行持久化
(1) 设置日志的保存路径
# 设置日志的保存目录 (properties)logging.file.path=D:/IDEA/# 如果想使用 \ 就要注意转义的问题,这里用\\logging.file.path=D:\\IDEA\\
# 设置日志保存的目录 (yml)logging: file: path: D:/IDEA/
可以看到日志保存到了这个目录下的位置
(2) 设置日志的保存名称
# 设置日志的保存名称 (properties)logging.file.name=D:/IDEA/spring-boot.log
添加 lombok 到当前项目
org.projectlombok lombok 1.18.20 true
(1) 使用 @Slf4j 得到日志对象 log
(2) 使用 log 对象自定义打印日志
package com.example.demo.service;import lombok.extern.slf4j.Slf4j;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;//@RestController = @Controller + @ResponseBody@RestController@Slf4j // 代替了之前需要通过 LoggerFactory.getLogger 操作public class UserService { @RequestMapping("/sayhi2") public void sayHi2() { log.trace("trace"); log.debug("debug"); log.info("info"); log.warn("warn"); log.error("error"); }}
来源地址:https://blog.csdn.net/m0_58761900/article/details/128237930
--结束END--
本文标题: SpringBoot(项目创建使用+配置文件+日志文件)
本文链接: https://www.lsjlt.com/news/386276.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-03
2024-04-03
2024-04-01
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0