• 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. 名词解释

    属性: 属性是指一个对象或组件中的某些特征或状态。在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文件,通过.来连接,通过=来赋值,结构上,没有分层的感觉,但比较直接。

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

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

    1.3 yml 语法:

    ## 基本格式
    server:
        port: 8080
    ## 值的写法格式
    user:
        name: zhangsan
        age: 20
    ## 或者采用行内写法
    user: {name: zhangsan,age: 20}
    ## 数组写法
    pets:
     - cat
     - dog
     - pig
    ## 或者采用行内写法
    pets: [cat,dog,pig]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    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 使用

  • 相关阅读:
    Topsis与熵权法
    VueUI Day05(8.4)Mint UI
    LORA无纸温控记录仪测温不准
    Go Gin Gorm Casbin权限管理实现 - 2. 使用Gorm存储Casbin权限配置以及`增删改查`
    Biotin-C6-amine_N-生物素基-1,6-己二胺_CAS:65953-56-2_100mg
    深入浅出RVO、NRVO以及std::move的策略与影响
    Hyper-V 安装 CentOS (二)
    新一代自动化测试神器Playwright
    Vue原理及源码设计模式
    Python批处理(一)提取txt中数据存入excel
  • 原文地址:https://blog.csdn.net/weixin_42802447/article/details/132718062