Springboot项目结构浅析
每当我们通过IDE、spring官网gui或者maven命令行创建SpringBoot项目后,大致会有如下结构的项目,这个时候第一个念头就是对于默认创建的内容,我需要保留哪些,哪些删除掉。针对这个问题,本文对于陌生内容作出解释说明,对于项目必要内容,诸如src、pom.xml之流就不做解释,重点解释其它内容;
1、.gitignore文件
由于目前大多数应用开发使用git作为代码版本管理工具,所以官方默认提供该文件,作为不纳入git版本管理项的初始配置文件,里面定义了最常见的文件或目录的版本控制忽略名单,大致内容如下。由于是定义最常见的配置,所以一般开发中我们都需要根据项目实际情况(IDE、插件等)进行修改,添加我们自己需要的忽略配置,该文件没什么其他作用,总的来说有胜于无吧!
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/### VS Code ###
.vscode/
2、HELP.md文件
首先解释下.md文件,全称是Markdown,是一种轻量级标记语言。自从被Github纳入规范之后,大部分项目都需要一个md格式的帮助说明文档,用来对项目架构、框架和操作手册等内容进行说明。想必spring官方也考虑到了这点,在项目新建后默认提供HELP.md文件。
3、Maven Wrapper相关文件,注意:这个部分介绍的不是某一个文件,而是由.mvn目录下内容、执行脚本mvnw和mvnw.cmd组成的;
在正式说明之前考虑这么一个场景:我们都知道mave有好多版本,大版本分为Maven1、Maven2、Maven3.0.X和Maven3.1+,小版本更是多达几十种,如下图所示:
每推出一个版本意味着相比上代版本肯定有改变,诸如修复BUG、性能优化、移除过期命令和新增命令等。开发者电脑上一般会配置一两个版本的maven或者使用gradle代替并没有配置maven,那么比如接手的项目会用到的一些maven新特性恰巧是你开发环境中的maven没有的(因为版本差异或吴佩芝),我们通常的做法是打开浏览器从官网先下载二进制文件,下载完毕后修改配置和配置环境变量等一系列操作,然后再通过IDE引用收工。那么有没有一种方式,随项目而来,如果本地没有时只通过简单的操作就可以实现上述诸如下载、配置、运行等操作,肯定是有的,Maven Wrapper就是这么一种简单的Maven构建方式,运行环境不需要提前安装Maven二进制文件,在需要的时候运行脚本即可;
- .mvn/wrapper/maven-wrapper.jar:通过mvnw和mvnw.cmd脚本引导,用于从Maven官方下载Maven的zip安装包,诸如:apache-maven-3.6.3-bin.zip
- .mvn/wrapper/maven-wrapper.properties:内容如下,定义了Maven Wrapper和Maven的下载地址。
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
- mvnw和mvnw.cmd:这两个文件具有相同的职责,引导maven-wrapper.jar从maven-wrapper.properties 中的distributionUrl下载maven安装包到本地,然后解压缩到指定文件夹,在将bin目录下的mvn脚本授予执行权限,大家可以通过执行下述命令查看命令行输出:
mvnw spring-boot:run
- .mvn/wrapper/MavenWrapperDownloader.java:这个类的作用是当Maven Wrapper不存在时,通过该类下载Maven Wrapper。执行过程是从maven-wrapper.properties配置中找到wrapper下载url,然后从rul下载maven-wrapper.jar到本地指定文件夹中,具体执行过程请参照源码。
总结下:
- Maven Wrapper:提供了一种简单构建Maven的方式,即运行环境不需要提前安装配置Maven,实现自动安装配置Maven的方式;
- 实际开发过程中,一般由IDE引用提前配置的Maven,几乎用不到Maven Wrapper,所以第三部分讲解的内容酌情可删除;
以上,完了!
Springboot项目结构浅析相关推荐
- boot sprint 项目结构_完美起航-【知识】SpringBoot项目结构目录
Spring boot 目录结构 一.主要目录 目录名称相对路径主要用途源码目录src\main\java存储源码 资源目录src\main\resources存储静态资源.动态页面.配置文件 测试目 ...
- springboot项目结构_从零搭建Spring Boot脚手架(1):开篇以及技术选型
1. 前言 目前Spring Boot已经成为主流的Java Web开发框架,熟练掌握Spring Boot并能够根据业务来定制Spring Boot成为一个Java开发者的必备技巧,但是总是零零碎碎 ...
- springboot项目层次结构_Springboot项目结构Springboot项目结构
运用Spring Boot 在start.spring.io可以直接下载Spring Boot项目 | | pom.xml | | \---src +---main | +---java | | \- ...
- springboot项目结构
一,代码层结构 domain: 数据库实体类(也有使用pojo和entity) dao: 数据接口访问层 service: 数据服务接口层 impl: 数据服务接口实现层 controller: 控制 ...
- 一图看懂SpringBoot项目结构
- springboot项目使用WireMock伪造REST服务
目录 一.WireMock官网 一.下载并启动WireMock 三.springboot项目开发WireMock客户端 一.WireMock官网 官网地址:http://wiremock.org/ W ...
- 六十一、分析Springboot中的项目结构介绍
@Author:Runsen 来源:尚硅谷 下面建议读者学习尚硅谷的B站的SpringBoot视频,我是学雷丰阳视频入门的. 具体链接如下:B站尚硅谷SpringBoot教程 文章目录 spring项 ...
- SpringBoot项目目录结构(工程结构)
SpringBoot项目目录结构 一.代码层结构 根目录:com.bajins 二.资源目录结构 根目录:resources 三.mybatis项目结构示例 阿里巴巴Java开发手册见: https: ...
- Dubbo的Api+Provider+Customer示例(IDEA+Maven+Springboot+dubbo) 项目结构
项目结构 dubbo-demo dubbo-api:提供api接口,一般存储实体类和接口服务 dubbo-provider:dubbo生产者提供服务,一般存储接口具体实现 dubbo-customer ...
最新文章
- 前端测试 karma mocha should 都是什么鬼?
- 开发出高性能的网站系列文章
- 软件常见故障的现象、故障排除的方法
- MyBatis MapperScannerConfigurer配置——MyBatis学习笔记之八
- 非关系型数据库mongodb的打开与连接
- 《SAS编程与数据挖掘商业案例》学习笔记之十六
- Java 泛型 泛型的约束与局限性
- Python回调函数的实现
- 网盘多线程提速下载利器:JDownloader 2 for Mac
- Linux常用软件包管理器命令
- topcoder java_Topcoder 练习小记,Java 与 Python 分别实现。
- WQ7033开发指南(按键篇)之4.4 三轴加速度传感器SC7A20实现双击、三击驱动详解
- 【JZOJ A组】Melancholy
- Office2016 Excel 快捷键备忘录
- MATLAB坐标轴位置调整
- Oracle在命令行中输入clear,Oracle SQLPlus 常用命令及解释
- js 检查当前浏览器是否在苹果设备上
- 2023 年软件文档工具,这5款可以看看!
- 曾风靡全球的 Delphi,要日薄西山了?
- 傅里叶、伯德图的简单示例