spring-boot笔记
发布日期:2022-02-10 11:36:59 浏览次数:51 分类:技术文章

本文共 1838 字,大约阅读时间需要 6 分钟。

Spring-boot

概念:SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想.2014 年 4 月,Spring Boot 1.0.0 发布。Spring的顶级项目之一(https://spring.io)

定义:

  • 快速搭建Spring项目的工具

功能:

  • 快速启动:内置了各种应用服务器,默认使用tomcat
  • 自动配置: 控制Springboot内部的程序那些生效
  • 依赖管理: 自动管理JAR的版本
  • 统一监控: 监控服务的运行状态

Spring缺点

  • 配置繁琐:Spring的组件代码是轻量级的,但它的配置却是重量级的

  • 依赖繁琐:项目的依赖管理也是十分耗时耗力的事情

Spring-boot项目中配置文件中的优先级

SpringBoot的底层实现原理

通过@EnableAutoConfiguration注解加载Springboot内置的自动初始化类(加载什么类是配置在spring.factories),这这些类中在基于spring4.0提供的Condition接口进行Bean的初始化。

SpringBoot 起步依赖原理简单分析

  • 在spring-boot-starter-parent中定义了各种技术的版本信息,组合了一套最优搭配的技术版本
  • 在各种starter中,定义了完成该功能需要的依赖合集,其中大部分版本信息来自于父工程
  • 工程继承parent,引入starter后,通过依赖传递,就可以简单方便获得需要的jar包,并且不会存在 版本冲突等问题。

Spring-boot配置文件分类

SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用 application.properties或者application.yml(application.yaml)进行配置

  • properties

    server.port=8080
  • yml

    server:port: 8080

yml/yaml

  • YAML文件的扩展名可以使用.yml或者.yaml。

  • 简洁,以数据为核心

  • 基本语法

    • 大小写敏感
    • 使用缩进表示层级关系
    • 数据值前边必须有空格,作为分隔符
    • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
    • # 表示注释,从这个字符一直到行尾,都会被解析器忽略
    server: 	port: 8080	address: 127.0.0.1name: abc

yml数据格式

  • 对象(map):键值对的集合

    person:	name: zhangsan# 行内写法person: {
    name: zhangsan}
  • 数组:一组按次序排列的值

    address:	- beijing	- shanghai# 行内写法address: [beijing,shanghai]
  • 纯量:单个的、不可再分的值

    msg1: 'hello \n world' # 单引忽略转义字符msg2: "hello \n world" # 双引识别转义字符

yml数据应用

name: lisiperson:	name: ${
name} # 引用上边定义的name值

profile

  • profile是用来完成不同环境下,配置动态切换功能的。

  • profile配置方式

    • 多profile文件方式:提供多个配置文件,每个代表一种环境。

      • application-dev.properties/yml 开发环境
      • application-test.properties/yml 测试环境
      • application-pro.properties/yml 生产环境
    • yml多文档方式:

      • 在yml中使用 — 分隔不同配置
  • profile激活方式

    • 配置文件: 再配置文件中配置:spring.profiles.active=dev
    • 虚拟机参数:在VM options 指定:-Dspring.profiles.active=dev
    • 命令行参数:java –jar xxx.jar --spring.profiles.active=dev

配置加载顺序

  • 内部配置

    1. file:./config/:当前项目下的/config目录下
    2. file:./ :当前项目的根目录
    3. classpath:/config/:classpath的/config目录
    4. classpath:/ :classpath的根目录
  • 外部配置

    • 参考spring-boot官网

转载地址:https://blog.csdn.net/drug1910951117/article/details/108327991 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:异常:This application has no explicit mapping for /error, so you are seeing this as a fallback.
下一篇:Redis基础快速掌握

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月05日 08时44分17秒