【Spring】Spring Boot项目创建和目录介绍

文章目录

  • 1 Spring Boot 介绍
  • 2 Spring Boot 项目创建
    • 注意事项
  • 3. 项目代码和目录介绍
    • pom 文件
    • 父工程
    • 目录介绍

1 Spring Boot 介绍

Spring 让 Java 程序更加快速、简单和安全,Spring 对于速度、简单性和生产力的关注使其成为世界上最流行的 Java 框架

Spring 官方提供了很多开源的项目,覆盖范围从 Web 开发到大数据,Spring 发展到了今天,已经形成了自己的生态圈,我们在开发时,也倾向于使用 Spring 官方提供的技术来解决对应的问题image.png
这些项目都是基于 Spring Framework 来进行开发的,但是 Spring Framework 存在配置多、入门难的问题,Spring 也意识到了这个问题,为了简化开发者的使用,从而创造性的推出了 Spring Boot

Spring Boot 就是为了简化 Spring 程序开发而诞生的


Spring Boot 翻译一下就是 Spring 脚手架image.png|343

  • 盖房子的这个架子就是脚手架,脚手架的作用是砌筑砖墙,浇筑混凝土,方便墙面抹灰、装饰和粉刷。简单来说,就是使用脚手架可以更快地盖房子
    Spring Boot 就是 Spring 框架的脚手架,它是为了快速开发 Spring 框架而诞生的
  • 早期:坐火车需要去代售点或火车站去买火车票
  • 现在:从 12306 去买票
    Spring 类似火车,早期使用 Spring 开发也是比较复杂的,
    SpringBoot 就类似于 1230612306 买票方便了很多,还集成了很多功能

2 Spring Boot 项目创建

image.png|478

image.png|417

  • 点击 create 就完成 Spring Boot 的项目创建了

注意事项

第一次打开 Spring Boot 项目需要加载很久,因为当前 Spring Boot 框架并没有在自己的本地仓库。为了加速 Spring Boot 项目的下载,在打开项目之前,请先确认自己的 Maven 已经配置为国内源

3. 项目代码和目录介绍

pom 文件

观察 pom 文件

<dependencies>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-web</artifactId>  </dependency>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-test</artifactId>  <scope>test</scope>  </dependency>  
</dependencies>
  • pom.xml 文件里面的具体信息,不需要过度关注,我们主要看 <dependencies> 标签里面的内容
  • 此文件中,引入了两个依赖
    • spring-boot-starter-web:包含了 web 应用开发所需要的常见依赖
    • spring-boot-starter-test:包含了单元测试所需要的常见依赖

父工程

但是我们发现,这个依赖没有指定具体的版本号,但我们的 jar 包也正常引入到项目中了,并且查看的话,是有版本号的
image.png


我们来卡看本地仓库的 jar 包是否下载下来了
image.png|513

  • 我们发现本地仓库的 jar 包也下载下来了

那为什么没有指定 <version>,程序也可以正常运行呢?

  • 因为每一个 Spring Boot 工程,都有一个父工程。依赖的版本号,会在父工程中统一进行管理。父工程指定版本号之后,就会自动引入和所指定的依赖,创建的 Spring Boot 项目,会继承 Spring Boot 父工程image.png|453

目录介绍

image.png|333

Spring Boot 项目有两个主要的目录,maintest

  • src/main/javaJava 源代码,代码就在里面写
  • src/main/resource:静态资源或配置文件:
    • /static:静态资源文件夹,比如 jscsshtml 等静态文件,不需要服务器数据进行绑定的页面
    • /templates:模板资源文件夹,主要存放动态模板文件,比如:JSPFreemarkerThymeleaf 等需要服务器动态渲染数据的文件
  • src/test/java:测试代码源代码。开发人员自测(和测试人员无关)
  • target:编译后的文件路径
  • pom.xmlMaven 配置文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/55294.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用Python+flask+mysql等开发的Excel数据资产落地工具

话不多说 1)Excel文件上传,列表预览 2)选中要导入结构及数据的Excel文件 约束说明: 2.1)Excel文件的第一行约定为表头名称 2.2)系统自动识别字段列名及数据类型,目前不支持合并表头 3)Excel建表导入数据成功后,可在表源列表中预览查看 4)对数据表源可进行透视图设计管理,可对…

滚雪球学Oracle[5.2讲]:数据库备份与恢复基础

全文目录&#xff1a; 前言一、备份策略的设计与实施1.1 备份的必要性1.2 备份的类型1.3 备份策略的设计示例&#xff1a;备份计划 二、增量备份与差异备份的配置2.1 增量备份的配置示例&#xff1a;配置增量备份 2.2 差异备份的配置示例&#xff1a;配置差异备份 三、使用RMAN…

叉车防撞系统方案,引领安全作业新时代

在现代工业的舞台上&#xff0c;叉车如同忙碌的“搬运工”&#xff0c;在仓储和制造环境中发挥着不可或缺的作用。然而&#xff0c;随着叉车使用频率的不断攀升&#xff0c;安全事故也如影随形&#xff0c;给企业带来经济损失的同时&#xff0c;更严重威胁着操作人员的生命安全…

15 数组——15. 三数之和 ★★

15. 三数之和 给你一个整数数组nums,判断是否存在三元组[nums[i], nums[j], nums[k]]满足i != j、i != k且j != k,同时还满足nums[i] + nums[j] + nums[k] == 0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。 示例 1: 输入:nums = [-1,0,1,2…

深入探讨Windows 11专业版与Windows 11专业工作站版的差异

前言 深入探讨Windows 11专业版与Windows 11专业工作站版的差异&#xff0c;可以更全面地理解这两款操作系统版本面向的不同用户群体、硬件支持、性能特点以及应用场景&#xff0c;从而为专业用户和企业选择最合适的平台提供依据。 硬件支持与扩展能力 Windows 11专业版&…

python select interpreter vscode 配置

vscode 没有 ctrl shift p&#xff0c;输入 python select interpreter 发现结果为空&#xff0c; 解决方法&#xff1a; 重新安装python插件。

Pytorch基本知识

model.state_dict()、model.parameters()和model.named_parameters()的区别 parameters()只包含模块的参数,即weight和bias(包括BN的)。 named_parameters()返回包含模块名和模块的参数的列表,列表的每个元素均是包含layer name和layer param的元组。layer param就是param…

HTB:Unified[WriteUP]

目录 连接至HTB服务器并启动靶机 1.Which are the first four open ports? 2.What is the title of the software that is running running on port 8443? 3.What is the version of the software that is running? 4.What is the CVE for the identified vulnerabilit…

数据集-目标检测系列-豹子 猎豹 检测数据集 leopard>> DataBall

数据集-目标检测系列-豹子 猎豹 检测数据集 leopard>> DataBall 数据集-目标检测系列-豹子 猎豹 检测数据集 leopard 数据量&#xff1a;5k 想要进一步了解&#xff0c;请联系。 DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&#x…

Unity2017在安卓下获取GPS位置时闪退的解决办法

在Unity使用低功耗蓝牙通信&#xff08;BLE&#xff09;需要用到设备的位置信息。但是调用Input.location.Start()程序会闪退。 解决办法&#xff1a;调用原生安卓接口。 参见《Unity2021通过aar调用Android方法》编写一个aar插件gpsplugin&#xff0c;在插件中提供获取GPS位…

微软SCCM:企业级系统管理的核心工具

目录 摘要 1. 引言 2. SCCM的基本概念 2.1 什么是SCCM? 2.2 SCCM的历史 3. SCCM的架构 3.1 中心服务器 3.2 数据库 3.3 管理点(Management Point) 3.4 分发点(Distribution Point) 3.5 客户端代理 3.6 报告服务 4. SCCM的核心功能 4.1 软件部署与管理 4.2 操…

docker管理

拉取容器镜像 docker pull 镜像名:镜像版本查看镜像 docker images查看容器列表 # 查看正在运行的容器 docker ps # 查看全部的容器(包括停止的容器) docker ps -a进入容器 docker exec -it 容器id /bin/bash停止容器 docker stop 容器id运行容器 docker start 容器id删除…

回溯算法框架解决排列组合及子集问题

216. 组合总和 III39. 组合总和40. 组合总和 II46. 全排列47. 全排列 II77. 组合 78. 子集 90. 子集 II 以上是力扣设计相关问题的题目。排列组合还是子集问题无非就是从序列 nums 中以给定规则取若干元素&#xff0c;主要有以下几类&#xff1a; 元素无重不可复选&#xff0…

贝锐蒲公英工业物联方案:助力美的智慧楼宇全球布局

智慧楼宇正日益成为现代城市发展的基石&#xff0c;作为该领域的先锋&#xff0c;美的楼宇科技通过其创新的iBUILDING数字化平台和低碳技术&#xff0c;引领着智慧空间的可持续发展&#xff0c;并持续推动建筑及相关行业的数字化转型。 美的楼宇科技的解决方案融合了先进的楼宇…

五子棋双人对战项目(5)——对战模块

目录 一、需求分析 二、约定前后端交互接口 三、实现游戏房间页面&#xff08;前端代码&#xff09; game_room.html game_room.css srcipt.js 四、实现后端代码 GameAPI Room Mapper 五、线程安全问题 一、需求分析 在对局中&#xff0c;玩家需要知道实时对局情况&…

Pandas数据类型

Pandas数据类型 学习目标 知道Pandas中都有哪些数据类型和数据结构&#xff0c;并知道数据类型和数据结构之间的关系知道时间日期类型作为索引的数据集可以基于时间范围来选取子集知道时间差类型索引的数据集可以基于时间差范围来选取子集 1 一般类型 Pandas数据类型Python…

商家营销工具架构升级总结

今年以来&#xff0c;商家营销工具业务需求井喷&#xff0c;需求数量多且耗时都比较长&#xff0c;技术侧面临很大的压力。因此这篇文章主要讨论营销工具前端要如何应对这样大规模的业务需求。 问题拆解 我们核心面对的问题主要如下&#xff1a; 1. 人力有限 我们除了要支撑存量…

redis 5的安装及启动(window)

最近看大模型的时候发现入手redis的同学没有练手的&#xff0c;而且大部分redis的文章要钱才能看&#xff0c;在这里我把路径和环境配置&#xff0c;启动给大家说一下 下载 redis5的获取链接在下面&#xff08;为什么是redis5&#xff0c;因为上个模型用的就是redis5&#xff…

基于单片机的两轮直立平衡车的设计

本设计基于单片机设计的两轮自平衡小车&#xff0c;其中机械部分包括车体、车轮、直流电机、锂电池等部件。控制电路板采用STC12C5A60S2作为主控制器&#xff0c;采用6轴姿态传感器MPU6050测量小车倾角&#xff0c;采用TB6612FNG芯片驱动电机。通过模块化编程完成了平衡车系统软…

【Ansys Fluent】计算数据导入tecplot傅里叶分析

来自&#xff1a;fluent计算数据导入tecplot进行傅里叶分析 首先在fluent计算结果中找到监测点压力曲线变化的输出文件&#xff0c;本例是pr0104.out&#xff0c;将文件后缀改为pr0104.txt&#xff0c;并用文本文档打开&#xff0c;将前几行的标题删除&#xff0c;只保留数据&…