• Spring Boot


    目录

        一.SpringBoot概念、创建和运⾏

    1.什么是Spring Boot?为什么要学Spring Boot?

    2.Spring Boot 优点

    3.Spring Boot 项⽬创建(两种方式)

    3.1使用idea创建

    3.2使用网页版创建(了解)

    4.项⽬⽬录介绍和运⾏ 

    4.1项目目录介绍

    4.2运行项目

    4.3输出 Hello world

    5.注意事项(一些容易出错的地方)

    5.1正确的包路径

    5.2约定大于配置

    二.Spring Boot配置文件

    1.配置⽂件作⽤

    2.配置⽂件的格式 

    3.properties 配置⽂件说明

    3.1 properties 基本语法

    3.2关于properties中文乱码的问题---解决办法

    3.3读取配置⽂件

    3.4 properties 缺点 

    4.yml 配置⽂件说明

    4.1 yml 基本语法

    4.2 yml 配置不同数据类型及 null

    4.3yml 配置读取

    5.查看Spring Boot更多系统配置项

     三.Spring Boot 日志文件

    1.日志的用途

    2.Spring Boot的默认的日志

    3.⾃定义⽇志打印(实现步骤有两步)

    4.更简单的日志输出---lombok 需要两步  (比上面的3.更简单) 

    5.日志格式说明

    6.日志级别 

    7.⽇志持久化


    SpringBoot概念、创建和运⾏

    1.什么是Spring Boot?为什么要学Spring Boot?

    Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发
    的.

    可以把spring boot理解为脚手架,脚⼿架的作⽤是砌筑砖墙,浇筑混凝⼟、⽅便墙⾯抹灰,装饰和粉刷的,简单来说,就是使⽤脚⼿架可以更快速的盖房⼦.因此可以说Spring Boot 就是 Spring 框架的脚⼿架,它就是为了快速开发 Spring 框架⽽诞⽣的

    2.Spring Boot 优点

    3.Spring Boot 项⽬创建(两种方式)

    3.1使用idea创建

    3.1.1安装 Spring Assistant插件

    因为用的 Idea 社区版,所以先要安装 Spring Assistant插件才能创建 Spring Boot 项⽬

    3.1.2创建 Spring Boot 项⽬

    3.2使用网页版创建(了解)

    4.项⽬⽬录介绍和运⾏ 

    4.1项目目录介绍

    4.2运行项目

    4.3输出 Hello world

    学习 JavaEE 就是⽤来实现 Web 项⽬或接⼝的,Spring 其实是⼀个普通 Java 项⽬,没
    办法直接和浏览器进⾏互动,所以接下来我们要⽤ Spring Boot 来实现和浏览器及⽤户的交互。


    在创建的项⽬包路径下创建 UserController ⽂件:

    重新启动项⽬,访问如下页面:

     

    5.注意事项(一些容易出错的地方)

    5.1正确的包路径

    需要托管到Spring Boot的对象必须放在Spring Boot启动类的根路径或者子路径中,否则不能被框架识别

    5.2约定大于配置

    Spring Boot的配置是比较少的,但是Spring Boot的设计思想是约定大于配置


    Spring Boot配置文件

    1.配置⽂件作⽤

    2.配置⽂件的格式 

    3.properties 配置⽂件说明

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

    3.1 properties 基本语法

    properties 是以键值的形式配置的,key 和 value 之间是以“=”连接的

    3.2关于properties中文乱码的问题---解决办法

    3.3读取配置⽂件

    如果在项⽬中,想要主动的读取配置⽂件中的内容,可以使⽤ @Value 注解来实现。
    @Value 注解使⽤“${}”的格式读取

    3.4 properties 缺点 

     想要解决配置文件冗余信息多这个问题,就可以使⽤ yml 配置⽂件的格式化了

    4.yml 配置⽂件说明

    yml 是 YAML 是缩写,它的全称 Yet Another Markup Language 翻译成中⽂就是“另⼀种标记语⾔”

    yml 最⼤的优势是可以跨语⾔,不⽌是 Java 中可以使⽤ golang、python 都可以使⽤ yaml 作为配置⽂件

    4.1 yml 基本语法

    yml 是树形结构的配置⽂件,它的基础语法是“key: value”,注意 key 和 value 之间使⽤英⽂冒号加空格的⽅式组成的,其中的空格不可省略

    使⽤ yml 连接数据库:

    我们能看到他的确可以比上面的properties 少很多冗余的信息

     4.2 yml 配置不同数据类型及 null

    4.3yml 配置读取

    4.3.1配置一个一个单独的

    yml 读取配置的⽅式和 properties 相同,使⽤ @Value 注解即可

    4.3.1.1注意事项:value 值加单双引号

     4.3.2配置对象

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

    yml中配置对象有两种方式:

     看一个配置对象的例子:

     4.3.3配置集合

    集合的读取和对象⼀样,也是使⽤ @ConfigurationProperties 来读取的

    yml中配置集合有两种方式:

     举一个例子:

    5.查看Spring Boot更多系统配置项


     Spring Boot 日志文件

    1.日志的用途

    ⽇志对于我们来说,最主要的⽤途就是排除和定位问题。
    除了发现和定位问题之外,我们还可以通过⽇志实现以下功能:
    记录⽤户登录⽇志,⽅便分析⽤户是正常登录还是恶意破解⽤户。
    记录系统的操作⽇志,⽅便数据恢复和定位操作⼈。
    记录程序的执⾏时间,⽅便为以后优化程序提供数据⽀持。
    以上这些都是⽇志提供的⾮常实⽤的功能

    2.Spring Boot的默认的日志

    Spring Boot 项⽬在启动的时候默认就有⽇志输出

    Spring Boot 内置了⽇志框架,默认情况下,输出的⽇志并⾮是开发者定义和打印的

    3.⾃定义⽇志打印(实现步骤有两步)

    完整代码示例:


    4.更简单的日志输出---lombok 需要两步  (比上面的3.更简单) 

    每次都使⽤ LoggerFactory.getLogger(xxx.class) 很繁琐,且每个类都添加⼀遍,也很麻烦,这⾥讲⼀种更好⽤的⽇志输出⽅式,使⽤ lombok 来更简单的输出

    1.添加 lombok 框架⽀持。

    这一步一般我们就在兼项目的时候就勾上lombok了,因此一般来讲就不用自己添加lombok的依赖了

    但是如果需要,这里也附上:

    1. <dependency>
    2. <groupId>org.projectlombokgroupId>
    3.   <artifactId>lombokartifactId>
    4.   <version>1.18.20version>
    5.   <optional>trueoptional>
    6. dependency>

    或者


    2.使⽤ @slf4j 注解输出⽇志。

     

    注意:使⽤ @Slf4j 注解,在程序中使⽤ log 对象即可输⼊⽇志,并且只能使⽤ log 对象才能输出,这是 lombok 提供的对象名

    lombok的原理:

    lombok 更多注解说明 :


    5.日志格式说明

    6.日志级别 

    ⽇志的级别就是为了筛选符合⽬标的⽇志信息的,有了⽇志级别之后就可以过滤⾃⼰想看到的信息了,从⽽节省开发者的信息筛选时间

     日志级别越往上接收到的消息就越少

     ⽇志的输出级别,默认是 info

     7.⽇志持久化

    在⽣产环境上我们需要将⽇志保存下来,以便出现问题之后追溯问题,把⽇志保存下来的过程就叫做持久化

    想要将⽇志进⾏持久化,只需要在配置⽂件中指定⽇志的存储⽬录或者是指定⽇志保存⽂件名之后,Spring Boot 就会将控制台的⽇志写到相应的⽬录或⽂件下了

  • 相关阅读:
    华为OD机试 - 等和子数组最小和 - 深度优先搜索(Java 2022 Q4 100分)
    ScrollView的OnValueChanged
    股票交易路上的一点感悟
    async await
    漏洞复现----48、Airflow dag中的命令注入(CVE-2020-11978)
    Power Apps使用oData访问表数据并赋值前端
    leetcode-218.天际线问题
    volatile 关键字
    Python-自动化测试面试
    【无标题】
  • 原文地址:https://blog.csdn.net/m0_58157267/article/details/125949189