• SpringBoot


    1.SpringBoot的优点

    1. 快速集成框架,不需要手动添加jar包
    2. 内置运行容器,不需要Tomcat等Web容器,直接运行程序
    3. 抛弃繁琐的XML,使用注解高效开发
    4. 支持更多的监控指标,更直接的观察到项目运行的情况

    2.如何创建SpringBoot项目(IDEA专业版)

    Tips:IDEA社区版安装插件Spring Boot Helper(idea版本需要2021.x之前的版本);
    
    • 1

    1.File->New->Project
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    创建成功(右侧出现Maven)
    在这里插入图片描述

    3.spring boot常用注解详解

    1.注解分析

    注意:SpringBoot的启动类只能扫描启动类的所在目录及其子目录下面的类

    @Controller:将这个类放入Spring的扫描路径下,所以当我们启动项目的时候,Spring就会扫描这个路径,从而运行该类下的方法
    在这里插入图片描述
    运行上述代码,Spring确实扫描了这个类 ,也执行了这个类下面的方法。但是我们看到的确实一个404页面,是因为浏览器返回的不是一个静态页面,所以需要另一个注解来让浏览器返回一个我们看的懂的静态页面
    在这里插入图片描述


    @ResponseBody:告诉浏览器返回的是静态页面
    在这里插入图片描述
    结果:
    在这里插入图片描述

    4.spring boot配置文件

    配置文件的作用:
    1.数据库连接信息
    2.项目的启动端口
    3.第三方调用的秘钥等等
    4.用于发现和定位问题的普通日志和异常日志
    
    • 1
    • 2
    • 3
    • 4
    • 5

    1.配置文件的两种格式

    1.properties
    2.yml
    
    • 1
    • 2

    Tips:
    1.properties可以和 yml一起存在于一个项目当中,当properties和yml一起存在一个项目中时,如果配置文件中出现了同样的配置,比如 properties和yml 中都配置了“server.port”,那么这个时候会以properties 中的配置为主,也就是 .properties配置文件的优先级最高 ,但加载完.properties文件之后,也会加载.yml文件的配置信息。
    2.虽然理论上来讲 .properties 可以和.yml共存,但实际的业务当中,我们通常会采取一种统一的配置文件格式,这样可以更好的维护(降低故障率)。这就好像连锁店的服饰一样,不管是老款的服装还是新款的服装,一定要统一了才好看。


    1、.properties基本语法:

    配置格式:key=value
    例如:

    #系统配置项
    server.port=8080
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/db1?characterEncoding=utf8
    spring.datasource.username=root
    spring.datasource.password=xxxxxxxx
    
    • 1
    • 2
    • 3
    • 4
    • 5

    如何进行用户自定义配置项?
    使用@Value注解就可以将用户自定义的配置放到类里面

    @Value(${key})   一定是${key}的格式
    
    • 1

    在这里插入图片描述
    首先,在.properties文件中添加key=value的用户自定义配置项
    在这里插入图片描述
    其次,在application类的扫描路径下,利用@Value注解将key的值给任意变量定义,接着就可以使用该变量
    结果:
    在这里插入图片描述
    properties的优缺点:
    1.系统默认配置文件,优先级高
    2.但是书写冗余,增加代码量

    2、.yml文件配置

    yml优点:
    1.书写方便,易于阅读
    2.支持多种语言,不只是支持java,支持JS、python、go…


    yml基本语法:

    key: value   冒号后面有空格
    
    • 1
    #  正确的配置
    spring: "hello"
    
    #错误的配置
    spring:"hello"
    
    • 1
    • 2
    • 3
    • 4
    • 5

    yml和properties连接数据库作对比:
    properties连接数据库:

    server.port=8080
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/db1?characterEncoding=utf8
    spring.datasource.username=root
    spring.datasource.password=xxxxxxxx
    
    • 1
    • 2
    • 3
    • 4

    yml连接数据库:

      spring:
        datasource:
          url: jdbc:mysql://127.0.0.1:3306/db1?characterEncoding=utf8
          username: root
          password: xxxxxxxx
    
    • 1
    • 2
    • 3
    • 4
    • 5

    yml的使用:

    首先,在.yml配置文件中用户自定义配置student

    其次,利用类注解,将.yml中的配置托管到spring框架中(存对象),并且将getter和setter方法设置好
    在这里插入图片描述
    最后,利用Autowired将Student类从spring框架中读取出来(取对象),打印结果
    在这里插入图片描述

    5.spring boot日志

    日志功能:

    1.记录用户的登录日志,分析是否是正常登录的用户
    2.记录系统的操作日志,定位操作人和操作行为,方便数据恢复
    3.记录程序的执行时间等,方便优化系统
    
    • 1
    • 2
    • 3

    1.如何使用日志

    首先,从slf4j下面导入Logger(获取日志对象)类
    在这里插入图片描述

    注意,获取日志对象是通过LoggerFactory调用getLogger方法来获取的,参数是类名.class
    在这里插入图片描述


    打印日志:

    logger.info("消息日志");
    
    • 1

    日志格式说明:

    在这里插入图片描述


    日志的级别:

    trace:微量,级别最低
    debug:调试的时候打印关键信息
    info:普通打印信息(默认的打印级别)
    warn:警告,不影响使用
    error:错误,级别较高的错误日志信息
    fatal:最高级别,因为代码异常导致程序终止
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    如果日志级别设置为warn,就会收到warn、error、fatal级别的日志


    2.如何配置日志?

      logging:
        level:
          root: error
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    在这里插入图片描述

    3.如何将日志持久化?

    将日志保存到文件目录中,就可以让日志永久保存下来

    #设置日志的打印级别、保存路径、保存文件名
    logging:
      level:
        root: error
      file:
        path: D://Spring-logs
        name: D://Spring-logs//spring-logging1024.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述


    另一种打印方法:lombok
    在这里插入图片描述
    java代码的运行:
    在这里插入图片描述
    引入lombok框架之后的运行:
    在这里插入图片描述


    4.lombok注解(常用)

    基本注解:
    在这里插入图片描述
    组合注解:
    在这里插入图片描述

    日志注解:
    在这里插入图片描述

  • 相关阅读:
    高斯消元总结
    Matlab学习笔记
    算法篇-------贪心2
    Docker 入门:如何打包、部署并运行你的应用
    基于 NCNN 的 Chinese-Lite 模型测试
    05. 聚类---K(k-means)均值
    【C语言】每日一题,快速提升(2)!
    Python 在Word中查找并高亮指定文本
    【华为OD机试真题 python】 绘图机器【2022 Q4 | 100分】
    mybatis一级缓存、二级缓存的意义是什么?
  • 原文地址:https://blog.csdn.net/weixin_64634186/article/details/133982158