SpringBoot核心应用第一弹

简介: pring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架

SpringBoot核心


1.1 什么是SpringBoot


  • Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。


1.2 SpringBoot四个主要特性


1、SpringBoot Starter:他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle构建中;

2、自动配置:SpringBoot的自动配置特性利用了Spring4对条件化配置的支持,合理地推测应用所需的bean并自动化配置他们;

3、命令行接口:(Command-line-interface, CLI):SpringBoot的CLI发挥了Groovy编程语言的优势,并结合自动配置进一步简化Spring应用的开发;

4、Actuatir:它为SpringBoot应用的所有特性构建一个小型的应用程序。但首先,我们快速了解每项特性,更好的体验他们如何简化Spring编程模型。


2.1 SpringBoot配置文件


  • 配置文件名称:application。 配置文件的名字必须是这个,才会被SpringBoot识别。否则SpringBoot只会认为这是一个普通的文件。

微信截图_20220610142634.png

配置文件的种类:

  • application.properties:其中存储的格式是:k=v格式
  • application.yml :其中存储数据的格式是:k: v(注意::和v之间存在一个空格,至少存在一个空格)

注意:以上两种格式的配置文件的v值都不需要加引号,在两种配置文件中,注释都是#。

yml是一种yaml格式的配置文件,主要采用一定的空格、换行等格式排版进行配置。yaml是一种直观的能够被计算机识别的数据序列化格式,容易被人类阅读,yaml类似于xml,但是语法比xml简洁的多,值与前面的冒号配置项必须要有一个空格,yml也可以使用 yaml 后缀

  • 注意:当两种格式同时存在的时候,在SpringBoot2.4开始,使用的是yml配置文件。修改配置名称都为application。推荐使用yml格式的配置文件。程序启动的时候都是默认读取的:application.properties|yml文件。

配置文件格式展示:

  • application.properties格式
# properties文件中的注释是:#
# 更改项目的端口号
server.port=8081
# 设置该项目的上下文的根路径。contextpath
server.servlet.context-path=/myBoot
复制代码
  • application.yml格式
# yml格式的配置文件
server:
    port: 8081
    servlet: 
        context-path: /myBoot
复制代码

解释:yml文件是按照层级进行书写的。从以上可以看出 port和servlet是处于同一级。是整个yml文档的第二级。而context-path是处于servlet下面的一级。处于整个文档的第三级。依次类推。 在属性与值之间必须存在一个或者多个空格


2.2 多环境配置


  • 在实际开发中,我们的项目会经历很多的阶段(开发 -> 测试 ->上线),每个阶段的配置都会有所不同。例如:端口、上下文根、数据库等等。那么这个时候为了方便在不同的环境之间切换,SpringBoot提供了多

环境配置。具体步骤如下:

  1. 为每一个环境创建一个配置文件,命名必须以application-环境标识.properties|yml
  2. 这些配置文件都在 resources文件夹下。
  • 配置开发时的配置文件
# 开发环境的配置文件
server:
  port: 8081
  servlet:
    context-path: /myDev
复制代码
  • 配置测试时的配置文件
# 测试使用的配置文件
server:
  port: 8082
  servlet:
    context-path: /myTest
复制代码
  • 配置上线时的配置文件
# 项目的上线使用的配置文件
server:
  port: 8084
  servlet:
    context-path: /myOnine
复制代码

微信截图_20220610142717.png

2.因为SpringBoot启动的时候默认读取的是:application.properties|yml文件。此时我们想让这个SpringBoot启动的时候读取开发时的 application-dev.yml 文件。此时需要在 application.properties文件中使用配置来告诉SpringBoot启动的时候使用哪个配置文件。

  • 在 application.properties|yml配置文件中配置激活哪个配置文件。
# 激活使用哪个配置文件。这个属性等于的是:多个配置文件的环境标识
# 此时启动的就是: application-dev.yml 
spring.profiles.active=dev



相关文章
|
运维 监控 Java
如何在阿里云serverless发布一个Springboot应用
本文主要很大家分享了如何在阿里云serverless发布一个Springboot应用,通过实际的操作感受serverless对于未来研发流程的巨大变革。
|
存储 数据可视化 Java
SpringBoot应用整合并使用Docker安装ELK实现日志收集
SpringBoot应用整合并使用Docker安装ELK实现日志收集
SpringBoot应用整合并使用Docker安装ELK实现日志收集
|
存储 JSON Prometheus
Prometheus+SpringBoot应用监控全过程详解
1. Prometheus是什么 Prometheus是一个具有活跃生态系统的开源系统监控和告警工具包。一言以蔽之,它是一套开源监控解决方案。
|
机器学习/深度学习 IDE Java
springboot 应用迁移
快速学习 springboot 应用迁移
springboot 应用迁移
阿里出品!SpringBoot应用自动化部署神器,IDEA版Jenkins?
CloudToolkit简介 CloudToolkit是阿里出品的一款IDEA插件,通过它我们可以更方便地实现自动化部署,其内置的终端工具和文件上传功能,即使用来管理服务器也非常方便!这款IDEA插件不仅功能强大,而且完全免费! 安装 CloudToolkit的安装是非常简单的,直接在IDEA的插件市场中搜索Cloud Toolkit然后进行安装即可。
|
弹性计算 网络协议 Java
函数计算部署SpringBoot应用
通过模板创建以及仓库导入应用来部署一个SpringBoot应用
2384 2
函数计算部署SpringBoot应用
|
Java Linux Maven
《SpringBoot系列六》:SpringBoot应用jar包启动原理
SpringBoot Jar包启动原理? SpringBoot Jar包目录结构? JarLauncher的运行原理?
1223 0
《SpringBoot系列六》:SpringBoot应用jar包启动原理
|
Java 应用服务中间件 Maven
《SpringBoot系列五》:SpringBoot应用分类?默认类型如何推导出(deduceFromClasspath())?
《SpringBoot系列五》:SpringBoot应用分类?默认类型如何推导出(deduceFromClasspath())?
243 0
《SpringBoot系列五》:SpringBoot应用分类?默认类型如何推导出(deduceFromClasspath())?
|
消息中间件 缓存 Java
【SpringBoot2 从0开始】如何编写 springboot 应用?
【SpringBoot2 从0开始】如何编写 springboot 应用?
【SpringBoot2 从0开始】如何编写 springboot 应用?
|
存储 缓存 JSON
Redis应用 02、Springboot整合redis
Redis应用 02、Springboot整合redis
Redis应用 02、Springboot整合redis