【Spring Boot】

本文介绍SpringBoot的概念及其优点,包括快速集成框架、内置运行容器等特点,并详细讲解如何通过IDEA创建SpringBoot项目,以及配置文件的使用方法,涵盖properties与yml格式配置,最后深入探讨日志文件的作用与配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Spring Boot概念

  • SpringBoot的产生是为了简化Spring程序开发的。
  • SpringBoot优点:
    (1)快速集成框架,SpringBoot提供了启动添加依赖的功能,用于秒级集成各种框架。
    (2)内置运行容器,无需配置Tomcat等web容器,直接运行和部署程序。
    (3)快速部署项目,无需外部容器即可启动并运行项目。
    (4)完全可以抛弃繁琐的xml,使用注解和配置的方式进行开发。
    (5)支持更多的监控的指标,可以更好的了解项目的运行情况。

Spring Boot项目创建

通过idea创建Spring Boot

(一)社区版需要安装Spring Assistant插件
(二)创建项目
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(三)输出hello world

@Controller
public class UserController {
    @ResponseBody //返回一个非静态页面的数据
    @RequestMapping("/sayhi") //设置路由地址sayHi
   public String sayHi(){
       return "hello world";
   }

结果:
在这里插入图片描述

在这里插入图片描述
(1)需要将对象托管到springBoot的对象,必须要放在SpringBoot启动类的根路径或子路径中,否则不能被框架识别。
(2)SpringBoot配置比较少,但是SpringBoot的设计思想是:约定大于配置。

SpringBoot配置文件

配置文件作用

整个项目中所有重要的数据都是在配置文件中配置的:
(1)数据库的连接信息
(2)项目的启动端口
(3)第三方系统的调用秘钥等信息
(4)用于发现和定位问题的普通日志和异常日志等

配置文件的分类

  • 配置文件的分类:

(1)系统的配置文件,比如连接字符串,日志的相关设置,系统定义好的。
(2)用户自定义的。

配置文件的格式

  • Spring Boot配置文件主要分为两种格式:
    (1).properties
    (2).yml
    规则:
    (1)一个项目中可以存在两种配置文件,但是不建议一个项目中出现两种配置文件。
    (2)

如果properties文件没有提示信息,那么就需要安装spring Tools插件

properties配置文件

properties配置文件是最早期的配置文件格式,也是创建Spring Boot项目默认的配置文件。

  • properties配置文件的基本语法:key=value
server.port=8080
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?
characterEncoding=utf8
spring.datasource.name=root
spring.datasource.password=11

关于properties乱码的问题处理:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 读取配置文件:
    使用@Value注解来实现读取配置文件中的内容。
public class UserController {
    @Value("${server.port}")
    private String port;

yml配置文件

yml最大的优势是可以跨语言。

  • yml基本语法:key: value
  • yml特点:
    (1)写法简单,可读性高
    (2)支持更多的数据类型
    (3)跨语言使用:java,golang,python
  1. properties和yml连接数据库的配置对比:
    在这里插入图片描述
    在这里插入图片描述
  1. yml单双引号问题:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    总结:yml中如果使用了双引号就会按照原语义执行,如果不加单,双引号,或者加了单引号,那么默认会将字符串中的特殊字符进行转义
  • 配置和读取对象
    使用注解@ConfigurationProperties来读取
# 对象写法1
student:
  id: 1
  name: zhangsan
  age: 20
# 对象写法2
student2: {id: 2,name: lisi,age: 20}
@Data
@ConfigurationProperties(prefix = "student") //读取配置文件中的对象
@Component
public class student {
    private int id;
    private String name;
    private int age;
}
  • yml集合的读和写
# 集合写法
dbtypes: {name: [mysql,sqlserver,db2]}
@Component
@Data
@ConfigurationProperties("dbtypes")//读取配置文件中集合
public class ReadList {
  private List<String> name;
}

SpringBoot日志文件

日志作用

日志除了发现和定位问题之外,还有的功能:
(1)记录用户登录日志,方便分析用户是正常登录还是恶意破解用户。
(2)记录系统的操作日志,方便数据恢复和定位操作人。
(3)记录程序的执行时间,方便为以后优化程序提供数据支持。

自定义日志打印

自定义打印日志的实现步骤:
1,在一个类中先获取到打印日志对象
在这里插入图片描述

2,使用日志对象提供的方法实现日志的打印

这里是引用
在这里插入图片描述

@Controller
@ResponseBody
public class UserController {

    // 1.得到日志对象
    private final static Logger log= LoggerFactory.getLogger(UserController.class);//设置当前类的类型
    @RequestMapping("/sayhi")
    public void sayHi(){
     // 2.使用日志对象提供的打印方法进行日志打印
        log.trace("我是trace");
        log.debug("我是debug");
        log.info("我是info");
        log.warn("我是warn");
        log.error("我是error");
    }
}

日志级别

  • 日志级别分为:
    (1)trace:少许的日志(级别最低)。
    (2)debug:调试日志。
    (3)info:普通信息日志。
    (4)warn:警告日志。
    (5)error:错误日志。
    (6)fatal:致命的日志(系统输出的日志,不能自定义打印)
  • 日志级别顺序:
    在这里插入图片描述
  • 设置日志级别:
# 设置全局的日志级别
logging.level.root=warn
#设置局部文件夹的日志级别
logging.level.com.example.demo.controller=trace

注:局部日志级别优先级高于全局的日志级别

日志的持久化

日志的持久化就是将日志呢永久的保存到磁盘的某个位置。
1,在配置文件中设置日志的保存路径,当设置了保存路径之后,那么日志就会自动的进行持久化。

# 正确设置日志路径的方式1
# 设置日志保存的目录
logging.file.path=E:/javase/
# 正确设置日志路径的方式2
logging.file.path=E:\\javase\\

2,在配置文件中设置日志保存的名称,日志就自动进行持久化

# 设置日志的保存名称
logging.file.name=E:\\javase\\spring-boot.log

更简单的实现自定义日志的打印-lombok

1,准备工作:添加lombok到当前项目

步骤:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2,使用@Slf4j 获得日志对象log
3,使用log对象自定义打印对象

@Controller
@ResponseBody
@Slf4j //替代了之前需要通过LoggerFactory.getLogger操作
public class UserService {
    @RequestMapping("/sayhi1")
   public void sayHi1(){
       log.trace("我是trace");
       log.debug("我是debug");
       log.info("我是info");
       log.warn("我是warn");
       log.error("我是error");
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值