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

news2024/10/3 14:57:19

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.coloradmin.cn/o/2186406.html

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

相关文章

使用Mac高频重复输入时别再傻傻的复制粘贴了,让快捷短语解放你的双手

你在使用Mac的时候&#xff0c;常用的句子、词语、代码都还在自己手动输入吗&#xff0c;当你需要高频的输入同样的内容&#xff0c;手动输入效率太低了&#xff0c;我发现一款实用的工具帮你解决这个问题&#xff0c;快捷短语-高频输入神器&#xff0c;更支持iCloud云备份。 快…

记录一个chatgpt接口站的明文密码泄露漏洞

前言 前段时间看到的一个chatgpt接口网站&#xff0c;注册过后&#xff0c;习惯性的F12看下请求包和响应包&#xff0c;于是就有了这篇文章。 漏洞 查看登录的一系列流量&#xff0c;除了前端界面相关的&#xff0c;一共有三个请求&#xff0c;分别是login&#xff0c;getle…

msvcr110.dll丢失怎么弄,详细介绍4种可靠解决方法

1. msvcr110.dll 简介 1.1 定义及作用 msvcr110.dll 是 Microsoft Visual C 2012 Redistributable Package 的一部分&#xff0c;它是一个动态链接库&#xff08;Dynamic Link Library&#xff09;文件&#xff0c;对于运行使用 Visual C 2012 编译的应用程序至关重要。这个库…

如何在 DAX 中计算多个周期的移动平均线

在 DAX 中计算移动聚合很容易。但是&#xff0c;计算一段时间内的移动平均值时会有一些陷阱。由于其中一些陷阱是定义问题&#xff0c;因此我们必须小心&#xff0c;不要选择错误的方法。让我们看看细节。欢迎来到雲闪世界。 添加图片注释&#xff0c;不超过 140 字&#xff08…

算法笔记(五)——分治

文章目录 算法笔记&#xff08;五&#xff09;——分治快排颜色分类排序数组数组中的第K个最大元素库存管理 III 归并排序数组交易逆序对的总数计算右侧小于当前元素的个数翻转对 算法笔记&#xff08;五&#xff09;——分治 分治算法字面上的解释是“分而治之”&#xff0c;就…

mindsearch run 本地服务

bing_browser.py ~/.conda/envs/mindsearch/lib/python3.10/site-packages/lagent/actions# vim bing_browser.py 修改提示词文件 MindSearch/mindsearch/agent/mindsearch_prompt.py # flake8: noqasearcher_system_prompt_cn """## 人物简介 你是一个可以…

易贝恩副总经理朱洪泽受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 北京易贝恩项目管理科技有限公司副总经理朱洪泽女士受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾&#xff0c;演讲议题为“从手动到智能&#xff1a;项目管理系统助力项目经理提升执行效率”。大会将…

python中的copy方法

记录一下python中的浅拷贝copy和深拷贝deepcopy 例题如下&#xff1a; import copyls [1, 2, [3, 4], 5, 6]ls1 ls.copy()ls2 lsls3 copy.deepcopy(ls)ls[2][1] 0ls.pop(1)ls.append([7, 8])print(ls1) #--------慙1慖print(ls2) #--------慙2慖print(ls3) #------…

windows10或11家庭版实现远程桌面连接控制

远程协助是一种Windows工具&#xff0c;允许控制者使用鼠标和键盘远程控制接受者的计算机&#xff0c;从某种程度上讲&#xff0c;这也是Win10家庭版无法远程桌面的一个有效替代方案。 步骤1. 在使用Windows远程协助之前&#xff0c;您需要先更改某些设置&#xff0c;右键单击…

yolov11模型在bdd100k数据集上的应用【代码+数据集+python环境+训练/应用GUI系统】

yolov8/9/10/11模型在bdd100k数据集上的应用【代码数据集python环境训练/应用GUI系统】 yolov8/9/10/11模型在bdd100k数据集上的应用【代码数据集python环境训练/应用GUI系统】 yolov8/9/10/11模型在bdd100k数据集上的应用【代码数据集python环境训练/应用GUI系统】 bdd100k数据…

Vue3项目开发——新闻发布管理系统(九)(完结篇)

文章目录 十一、用户信息管理1、用户基本资料管理1.1 页面设计1.2 封装接口,更新信息2、更换头像2.1 静态结构2.2 选择图片预览2.3 上传头像3、重置密码3.1 页面设计3.2 封装接口,更新密码十二、项目打包十三、系统全部源码下载十一、用户信息管理 用户信息管理包括功能:基…

软件设计师——信息安全

&#x1f4d4;个人主页&#x1f4da;&#xff1a;秋邱-CSDN博客☀️专属专栏✨&#xff1a;软考——软件设计师&#x1f3c5;往期回顾&#x1f3c6;&#xff1a;软件设计师——计算机网络&#x1f31f;其他专栏&#x1f31f;&#xff1a;C语言_秋邱 ​ 一、加密技术与认证技术…

Redis:初识Redis

Redis&#xff1a;初识Redis Redis 介绍分布式架构Redis特性安装Redis Redis 介绍 在官网中&#xff0c;是如下介绍Redis的&#xff1a; in-memory data store used by millions of developers as a cache, vector database, document database, streaming engine, and messag…

【解锁心灵枷锁】每天焦虑烦躁压抑?这7招助你重拾宁静与阳光!

在这个快节奏、高压力的时代&#xff0c;每个人心中或许都藏着一份不易察觉的焦虑与烦躁&#xff0c;它像一层无形的阴霾&#xff0c;悄悄笼罩着我们的生活&#xff0c;让人感到压抑与无力。但请相信&#xff0c;无论现状多么艰难&#xff0c;总有方法能驱散这些负面情绪&#…

大数据与人工智能:基础与应用的多维思考

大数据与人工智能&#xff1a;基础与应用的多维思考 前言一、时代定位与发展方向二、人工智能的本质与学科融合三、大数据和人工智能的构成要素与大众需求四、计算机系统结构与基础软件的重要性五、研究途径与领域知识的作用六、发展的态度与责任 前言 当下&#xff0c;大数据…

SpringBoot系列 启动流程

文章目录 SpringApplicationSpringApplication#run 启动流程BootstrapContextSpringApplicationRunListenersprepareEnvironmentconfigureEnvironmentconfigurePropertySourcesconfigureProfiles 上下文初始化prepareContextrefreshContextprepareRefreshobtainFreshBeanFactor…

Kotlin 处理字符串和正则表达式(二十一)

导读大纲 1.1 处理字符串和正则表达式1.1.1 分割字符串1.1.2 正则表达式和三引号字符串1.1.3 多行三引号字符串IntelliJ IDEA 和 Android Studio 中三重引号字符串内部的语法高亮显示 1.1 处理字符串和正则表达式 Kotlin 字符串与 Java 字符串完全相同 可以将 Kotlin 代码中创建…

【算法】哈希映射(C/C++)

目录 算法引入&#xff1a; 算法介绍&#xff1a; 优点&#xff1a; 缺点&#xff1a; 哈希映射实现&#xff1a; map unordered_map 题目链接&#xff1a;“蓝桥杯”练习系统 解析&#xff1a; 代码实现&#xff1a; 哈希映射算法是一种通过哈希函数将键映射到数组索…

JAVA基础语法 Day11

一、Set集合 Set特点&#xff1a;无序&#xff08;添加数据的顺序和获取出的数据顺序不一致&#xff09;&#xff0c;不重复&#xff0c;无索引 public class demo1 {public static void main(String[] args) {//1.创建一个集合//HashSet特点&#xff1a;无序&#xff0c;不重…

Redis: 集群架构,优缺点和数据分区方式和算法

集群 集群指的就是一组计算机作为一个整体向用户提供一组网络资源 我就举一个简单的例子&#xff0c;比如百度&#xff0c;在北京和你在上海访问的百度是同一个服务器吗&#xff1f;答案肯定是不是的&#xff0c;每一个应用可以部署在不同的地方&#xff0c;但是我们提供的服务…