[SpringBoot2.X] 02- 项目结构介绍


prtyaa
prtyaa 2023-12-27 15:11:25 64505
分类专栏: 资讯

POM文件

继承

Spring Boot 的父级依赖,只有继承它项目才是 Spring Boot 项目。

spring-boot-starter-parent 是一个特殊的 starter,

它用来提供相关的 Maven 默认依赖。使用它之后,常用的包依赖可以省去 version 标签。

也就是继承的是springboot默认的启动器

依赖

启动器依赖

插件

spring-boot-maven-plugin 插件是将 springboot 的应用程序打包成 jar 包的插件。

将所有应用启动运行所需要的 jar 包都包含进来,从逻辑上将具备了独立运行的条件。

当运行"mvn package"进行打包后,使用"java -jar"命令就可以直接运行。


启动类

Spring Boot 的启动类的作用是启动 Spring Boot 项目

过去的方式是放在容器中启动,而spring是内置了容器所以是启动springboot

是基于 Main 方法来运行的。

注意:

启动类在启动时会做注解扫描(@Controller、@Service、@Repository......),

扫描位置为同包或者子包下的注解,所以启动类的位置应放于包的根下

SpringbootdeomApplication

springboot启动类

启动类与启动器区别:

启动类

表示项目的启动入口

启动器

表示jar包的坐标

 


启动器

Spring Boot 将所有的功能场景都抽取出来,做成一个个的 starter(启动器),

只需要在项目里面引入这些 starter 相关场景的所有依赖都会导入进来,

要用什么功能就导入什么场景, 在 jar 包管理上非常方便,最终实现一站式开发。

Spring Boot提供了多达44个启动器,未来仍会增加。详见下方链接

所谓的启动器就是负责支持某个模块的jar包集合,比如说持久化操作的时候导入的jar包依赖有好几个,但是springboot中就归纳为一个启动器,加载启动器就是添加了相关模块操作时会使用的jar包

比较核心的有:

spring-boot-starter →不用额外导包因为其他启动器就包含了这个

这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。

spring-boot-starter-actuator

帮助监控和管理应用。

spring-boot-starter-web

支持全栈式Web开发,包括Tomcat和spring webmvc.

启动器命名规则:

spring-boot-starter-xxx

配置文件

Spring Boot 提供一个名称为 application 的全局配置文件

支持两种格式

  1. properteis
  2. YAML

properteis 格式

官网配置下载以及脚手架搭建的项目就会自动生成,生成位置如下图

YAML 格式

YAML 格式配置文件的扩展名可以是 yaml 或者 yml。

基本格式要求

 大小写敏感

 使用缩进代表层级关系

 相同的部分只出现一次

相同部分只能出现一次 :错误写法

正确写法

配置文件存放位置

 当前项目根目录中

 当前项目根目录下的一个/config 子目录中

 项目的 resources 即 classpath 根路径中

 项目的 resources 即 classpath 根路径下的/config 目录中

配置文件加载顺序

不同格式的加载顺序

如 果 同 一 个 目 录 下 , 有 application.yml 也 有 application.properties

默 认 先 读 取 application.properties。

如果同一个配置属性,在多个配置文件都配置了,默认使用第 1 个读取到的,

后面读取 的不覆盖前面读取到的

不同位置的加载顺序

当前项目根目录下的一个/config 子目录中(最高)

config/application.properties

config/application.yml

 

当前项目根目录中(其次)

application.properties

application.yml

 

项目的 resources 即 classpath 根路径下的/config 目录中(一般) resources/config/application.properties

resources/config/application.yml

 

项目的 resources 即 classpath 根路径中(最后)

resources/application.properties

resources/application.yml

配置文件中的占位符

占位符语法

语法:${}

占位符作用

"${}"中可以获取框架提供的方法中的值如:random.int 等。

♥占位符可以获取配置文件中的键的值赋给另一个键作为值。

生成随机数

${random.value} - 类似 uuid 的随机数,没有"-"连接

${random.int} - 随机取整型范围内的一个值

${random.long} - 随机取长整型范围内的一个值

${random.long(100,200)} - 随机生成长整型 100-200 范围内的一个值

${random.uuid} - 生成一个 uuid,有短杠连接

${random.int(10)} - 随机生成一个 10 以内的数

${random.int(100,200)} - 随机生成一个 100-200 范围以内的数


bootstrap 配置文件

bootstrap 配置文件介绍

Spring Boot 中有两种上下文对象,

一种是 bootstrap,

另外一种是 application, → 对应applicationContext

bootstrap 是应用程序的父上下文

即bootstrap是application的父级对象

也就是说 bootstrap 加载优先于 applicaton。

bootstrap

  • 主要用于从额外的资源来加载配置信息
  • 还可以在本地外部配置文件中解密属性。

这两个上下文共用一个环境,

♥它是任何 Spring 应用程序的外部属性的来源。

→ 用法 以后在做微服务的时候

微服务的分布式配置中心 :把所有的配置文件拿出来放到远程仓库中做一个集中式的管理

最终需要依靠bootstrap来引入实现

bootstrap 里面的属性会优先加载, 它们默认也不能被本地相同配置覆盖。

bootstrap 配置文件特征

 boostrap 由父 ApplicationContext 加载,比 applicaton 优先加载。

 boostrap 里面的属性不能被覆盖。

bootstrap 与 application 的应用场景

application 配置文件主要用于 Spring Boot 项目的自动化配置。

bootstrap 配置文件有以下几个应用场景。

 使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息。

 一些固定的不能被覆盖的属性。

 一些加密/解密的场景。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=31386
赞同 0
评论 0 条
prtyaaL1
粉丝 1 发表 2554 + 关注 私信
上周热门
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1487
银河麒麟打印带有图像的文档时出错  1405
银河麒麟添加打印机时,出现“server-error-internal-error”  1194
统信操作系统各版本介绍  1116
统信桌面专业版【如何查询系统安装时间】  1114
统信桌面专业版【全盘安装UOS系统】介绍  1068
麒麟系统也能完整体验微信啦!  1026
统信【启动盘制作工具】使用介绍  672
统信桌面专业版【一个U盘做多个系统启动盘】的方法  616
信刻全自动档案蓝光光盘检测一体机  526
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!