SpringBoot 框架学习

java 学习笔记指路

基础知识

Python转java补充知识
Java中常见的名词解释

前端

【黑马程序员pink老师前端】HTML
【黑马程序员pink老师前端】JavaScript基础大总结
【黑马程序员pink老师前端】JavaScript函数与作用域
【黑马程序员pink老师前端】JavaScript对象

数据库

【黑马程序员数据库】数据库基础大总结
【黑马程序员数据库】数据库引擎
【黑马程序员数据库】数据库索引

SQL编程

【牛客】SQL刷题篇入门篇
【牛客】SQL刷题篇进阶篇

Java 框架

spring框架学习
SpringMvc框架学习
SpringBoot 框架学习
Mybatis-plus 快速入门
Maven基础
Zookeeper初认识
HTTP简介
Tomcat
Servlet
vue入门

目录

  • [0. 名词解释](#0. 名词解释)
  • [1. 配置文件](#1. 配置文件)
    • [1.1 springboot 支持的配置文件](#1.1 springboot 支持的配置文件)
    • [1.2 application.properties和application.yml文件的区别:](#1.2 application.properties和application.yml文件的区别:)
    • [1.3 yml 语法:](#1.3 yml 语法:)
    • [1.4 配置文件注入](#1.4 配置文件注入)
  • [2. 日志系统](#2. 日志系统)
  • [3. 属性配置](#3. 属性配置)
  • [4. Swagger](#4. Swagger)
    • [4.1 作用](#4.1 作用)
    • [4.2 使用](#4.2 使用)

参考大佬文章

0. 名词解释

属性:

属性是指一个对象或组件中的某些特征或状态。在Spring Boot中,属性通常用于配置应用程序中的各种组件和服务。属性可以通过配置文件、命令行参数、Java代码等方式进行设置,从而使应用程序能够根据不同的环境和需求进行配置。

使用配置文件来配置属性的情况:

  • 需要在不同的环境中使用不同的配置时。例如,您可以在开发环境中使用一组属性,在测试环境中使用另一组属性,在生产环境中使用另一组属性。
  • 需要将配置信息从代码中分离出来时。使用配置文件可以使配置信息更加灵活和可维护,因为您可以在配置文件中更改配置信息,而不需要修改代码。
    组件: 是指应用程序中的一个独立的可重用的功能单元。组件可以是一个Java类、一个接口、一个注解等,它们通常用于实现特定的功能,例如处理请求、处理数据、执行业务逻辑等。
    依赖关系: 依赖关系是指一个组件或模块依赖于另一个组件或模块的关系
    依赖注入: spring 提供的,@Autowired 注解来注入,会自动装载import,同 python 中的 import

1. 配置文件

1.1 springboot 支持的配置文件

  1. application.yml或application.yaml:这是Spring Boot的默认配置文件格式,它使用YAML语法来表示配置信息。与application.properties文件类似,可以在该文件中配置各种属性。application.properties或application.yml文件中的属性可以通过**@Value**注解直接注入到Java类中(把配置文件中的值赋给变量),这样可以方便地将配置信息传递给应用程序的各个组件。
  2. application-dev.properties或application-dev.yml:用于配置Spring Boot应用程序的开发环境属性。例如,可以在这些文件中配置日志级别、端口号等。
  3. application-test.properties 或 application-test.yml:用于配置Spring Boot应用程序的测试环境属性。例如,您可以在这些文件中配置测试数据库连接等。
  4. spring.factories :用于配置 Spring Boot 应用程序中的组件和依赖关系。Spring Boot 会自动扫描该文件,并将其中的组件和依赖项注入到应用程序中。例如,如果需要在应用程序中添加一个新的组件或依赖项,您只需要在spring.factories文件中添加一行新的键值对即可。这样,Spring Boot会自动扫描该文件,并将新的组件或依赖项注入到应用程序中,无需修改应用程序的源代码。通常用于配置Spring Boot应用程序中的第三方库和框架,例如Spring Data JPA、Spring Security等。这些库和框架通常需要在应用程序中进行配置,通常使用 spring.factories。

执行顺序

Spring Boot应用程序会按照以下顺序加载配置文件:

  1. application.properties或application.yml文件:默认配置文件
  2. application-{profile}.properties、application-{profile}.yml 或 application-{profile}.yaml文件:{profile}表示您的应用程序所使用的特定环境,例如开发环境、测试环境、生产环境等。
  3. spring.factories文件:配置Spring Boot应用程序中的组件和依赖关系。对于在maven中引用的其他外部包加入容器的过程,需要用到spring.factories。
    如果属性在多个配置文件中都存在,则使用最后一个配置文件中的属性值。

1.2 application.properties和application.yml文件的区别:

IDEA创建一个SpringBoot项目时会默认创建一个application.properties配置文件。有些朋友习惯把.properties文件改成.yml文件。
1. 内容格式比较:
.properties文件,通过.来连接,通过=来赋值,结构上,没有分层的感觉,但比较直接。

java 复制代码
server.port=8081
spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
spring.datasource.url=jdbc:mysql://aliyuncs.com:3306/database?useUnicode=true&zeroDateTimeBehavior=convertToNull&autoReconnect=true
spring.datasource.username=root
spring.datasource.password=******
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

.yml文件,通过:来分层,结构上,有比较明显的层次感,最后key赋值的:后需要留一个空格

yml 复制代码
server:
  port: 8082
spring:
    datasource:
        name: test
        url: jdbc:mysql://127.0.0.1:3306/database
        username: root
        password: ******
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.jdbc.Driver

2. 执行顺序

配置文件的加载优先级 properties(最高)>yml>yaml(最低),如果工程中同时存在application.properties文件和 application.yml文件,yml文件会先加载,而后加载的properties文件会覆盖yml文件。

1.3 yml 语法:

yml 复制代码
## 基本格式
server:
    port: 8080
## 值的写法格式
user:
    name: zhangsan
    age: 20
## 或者采用行内写法
user: {name: zhangsan,age: 20}
## 数组写法
pets:
 - cat
 - dog
 - pig
## 或者采用行内写法
pets: [cat,dog,pig]

k: v 表示键值对关系,冒号后面必须有一个空格

使用空格的缩进表示层级关系,空格数目不重要,只要是左对齐的一列数据,都在同一个层级

大小写敏感

缩进时不允许使用Tab键,只允许使用空格

支持松散绑定。Java中对于驼峰命名法,可使用原名或-代替驼峰,如:lastName属性,在yml文件中使用lastName或last-name都可以正确映射

注意:" ":双引号,会转译字符串里的特殊字符:如 /n 会被转译成换行;'':单引号,不会转译: 如 /n 输出就是 /n

1.4 配置文件注入

2. 日志系统

springboot项目的最佳实践就是采用 slf4j+logback

详细的写在日志整改文章里

3. 属性配置

4. Swagger

4.1 作用

按照它的规范去定义接口及接口相关的信息,自动生成接口文档

4.2 使用

相关推荐
暮乘白帝过重山6 分钟前
Singleton和Prototype的作用域与饿汉式/懒汉式的初始化方式
spring·原型模式·prototype·饿汉式·singleton·懒汉式
腥臭腐朽的日子熠熠生辉35 分钟前
解决maven失效问题(现象:maven中只有jdk的工具包,没有springboot的包)
java·spring boot·maven
ejinxian37 分钟前
Spring AI Alibaba 快速开发生成式 Java AI 应用
java·人工智能·spring
杉之42 分钟前
SpringBlade 数据库字段的自动填充
java·笔记·学习·spring·tomcat
圈圈编码1 小时前
Spring Task 定时任务
java·前端·spring
俏布斯1 小时前
算法日常记录
java·算法·leetcode
27669582921 小时前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿
爱的叹息1 小时前
Java 连接 Redis 的驱动(Jedis、Lettuce、Redisson、Spring Data Redis)分类及对比
java·redis·spring
程序猿chen2 小时前
《JVM考古现场(十五):熵火燎原——从量子递归到热寂晶壁的代码涅槃》
java·jvm·git·后端·java-ee·区块链·量子计算
松韬2 小时前
Spring + Redisson:从 0 到 1 搭建高可用分布式缓存系统
java·redis·分布式·spring·缓存