03. SpringBoot 项目创建

去皮卡多  金牌会员 | 2024-8-31 00:30:21 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 562|帖子 562|积分 1686

接下来我们将要完成一个底子的 Springboot 项目的创建,并且将项目上传到 Gitee
  1. 查看官网,选择版本

   学习任何一门技术,肯定要学会从官网相识一手信息,无论是哪个博主的博客都是有时效性的,我们要掌握如许的风俗,看懂看不懂另说,起码知道从哪里去找。
spring官网地址:https://spring.io/
  

   可以看到截至 2024.8.8 号,当前发布的最新稳定 GA 版本为 3.3.3,但是这里我不选择最新版本,原因是后续大概会改造成微服务项目,当前 SpringCloud Alibaba 适配的最新SpringBoot版本才到3.2.4,这里可以查看 https://sca.aliyun.com/docs/2023/overview/version-explain/,所以我这里选择3.2.4
  版本分析:
   这里简朴先容一下各个版本后面的版本号,以及 GA 代表什么意思。
大多数软件在开发过程中都会有一个生命周期,从开发到测试,最后到上线,以及后续的维护。
  

  • 开发阶段:Development 开发阶段,一般不对外袒露
  • Alpha:Alpha 内测阶段,通常包含了底子功能,但是大概存在很多已知的标题,须要解决,一般供团队内成员利用。
  • Beta: Beta 相对稳定的版本,一般为已经完成大部分功能,并且经过了肯定程度的测试,一般会公开给外部测试人员或者志愿者利用,收集一些反馈
  • Release Candidate: RC 候选发布版本,近来就正式版本的一个版本,假如没有大标题基本确定可以作为正式版本发布。会在内部或者选定的小范围内进行测试,确保最终是否符合上线标准。
  • General Availbility: GA 这就是我们上面提到的 GA版本或者有的也界说为 Final版本,是正式发布的版本,意味着软件已经通过全部测试,并且以为足够稳定,可以提供给全部效户利用了。
  • Maintenance: 发布 GA 版本后,大概会有多少个小版本来修复发现的一些小错误,这些版本通常被称为点版本(例如 1.0.1,1.0.2 等)。
  • Path: Patch 版本用于修复紧急安全漏洞或者其他严重标题,一般比较少见
  • Snapshot: Snapshot 版本指的是正式版某个版本的一个快照版本,这些版本通常包含了最新的更改和特性,但也大概不稳定
  • End of Life :EOL 当软件不再受到支持,会宣布其生命终结,这意味着将不再维护更新。
    一般版本号都是由三位数字构成,<major>.<minor>.<patch>
  

  • Major (主版本): 当做出不兼容的 API 修改时增长此数字。
  • Minor (次版本): 当添加向后兼容的功能时增长此数字。
  • Patch (修订版本): 当修复向后兼容的 bug 时增长此数字。
  2. 创建项目

   这里我选择利用 3.2.4 作为最终版本, 当然你也可以选择当前最新的,对于当前的单体项目来说,几乎没有任何区别。这里点击 3.2.x 版本的文档 https://docs.spring.io/spring-boot/docs/3.2.9/reference/html/getting-started.html#getting-started
    可以看到这里对于一些版本的分析,最低要求 JDK17 Maven 3.6.3 +

接下来我们可以大致欣赏一下,其实官网的文档写的很详细,有教你怎么下载 maven如何创建一个 SpringBoot项目,运行,打包等等。而且先容了各个情况下的不同安装方式。这里我基于 IntelliJ IDEA给大家演示快速创建一个 SpringBoot项目。
  2.1. 项目先容

   先简朴先容一下我们的项目组织布局,这个在我过去开发中碰到过很多种,各有各的特色,大致有以下几种。
  第一种:单体架构,不拆分模块

   这种方式的优势就在于,简朴快速,适合一些比较简朴的小项目。
  第二种:单体项目,进行模块划分

   根据业务模块进行抽离,将不同职责的业务,划分进不同的模块中,相比于前一种,相当于把原先通过文件夹划分职责改成了,通过模块划分,如许做的利益就是,项目布局更清晰了,可以做到更进一步的控制,比如不同模块利用特定的版本等,但是项目的复杂度也肯定程度上增长了。这种方式切换为微服务版本时,改动起来会更加方便一点。
    这里我会选择第二种方式完成项目开发,其实选择每种方式都可以,没有好坏之分,适合本身的就是好的。我刚开始写项目的时间也经常会纠结这些细枝末节的东西,比如项目名称怎么定名,变量怎么定名,mvc怎么分层,包怎么划分,后来发现这些除了给你带来毫无意义的内耗不测,对项目没有任何影响,只会拖慢你的项目进度,以及打击你的热情。所以,大家肯定要知道什么才是重点,先把项目搭起来,业务跑起来,全部的这些细节可以在后续优化中一点点改进,有些东西等到你用到的时间,天然会发现怎么样去设计会更符合,更有利于本身完成项目的开发。
    项目布局大致如下
  

2.2. 新建项目

   打开 idea找到 【New Project】
  

   假如你的打开的时间不是这个界面,可以在这里创建新项目
  

   之后就都是一样的了。
    填好须要的信息,点击 【Create】
  

   创建完成后,我们得到如许一个项目
  

   这个将作为我们的根目次,也就是父依赖,将 src删除掉,留下pom用来管理依赖的版本。
    修改 pom.xml添加官方提供的 springboot-start依赖,之后利用官方整合的包的时间将不用再指定版本,如许做的利益就是不容易出现版本冲突的标题。将自动生成的版本改成 1.0.0-DEV,当然你也可以不改,只是个人风俗,没任何影响。
这里在父工程里还引用了 lombok的依赖,如许后续全部模块将会自动继续引用。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5.     <modelVersion>4.0.0</modelVersion>
  6.     <groupId>com.zz</groupId>
  7.     <artifactId>zz-admin-springboot</artifactId>
  8.     <version>1.0.0-DEV</version>
  9.     <properties>
  10.         <maven.compiler.source>17</maven.compiler.source>
  11.         <maven.compiler.target>17</maven.compiler.target>
  12.         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  13.         <spring-boot.version>3.2.4</spring-boot.version>
  14.     </properties>
  15.     <dependencyManagement>
  16.         <dependencies>
  17.             <dependency>
  18.                 <groupId>org.springframework.boot</groupId>
  19.                 <artifactId>spring-boot-dependencies</artifactId>
  20.                 <version>${spring-boot.version}</version>
  21.                 <type>pom</type>
  22.                 <scope>import</scope>
  23.             </dependency>
  24.         </dependencies>
  25.     </dependencyManagement>
  26.     <dependencies>
  27.         <dependency>
  28.             <groupId>org.projectlombok</groupId>
  29.             <artifactId>lombok</artifactId>
  30.         </dependency>
  31.     </dependencies>
  32. </project>
复制代码
  创建业务模块 【选择文件夹>New>Module
  

   填好须要信息,点击【Create
  

   假如你通过这种方式创建,你会发现,父 pom 里自动生成了模块声明
  

   按照类似方式创建出 zz-module 这个是用来存放业务模块的。删除 src,这个也是个父工程,在下面创建详细的业务模块 zz-admin
    最终项目布局如下
  

   你大概会有疑问,为什么这里要再弄一个 zz-module,为什么不直接将 zz-admin放在外貌同zz-common同级,你的想法是对的,那样确实可以,而且布局更加简朴明白,我这么做是因为,我希望将全部焦点业务放在一个路径下管理,并且可以集中引用一些公共依赖。正如我前面提的,没有好坏适合本身的最好。
  2.3. 引入web开发依赖

   在 zz-admin的pom里,引入web依赖
  1. <dependencies>
  2.   <!-- web 依赖-->
  3.   <dependency>
  4.     <groupId>org.springframework.boot</groupId>
  5.     <artifactId>spring-boot-starter-web</artifactId>
  6.   </dependency>
  7. </dependencies>
复制代码
  创建启动类
  1. @SpringBootApplication
  2. public class ZZAdminApplication {
  3.     public static void main(String[] args) {
  4.         SpringApplication.run(ZZAdminApplication.class, args);
  5.     }
  6. }
复制代码
  创建 application.yaml
  1. server:
  2.   port: 8000
复制代码
  运行项目,可以看到,符合预期,在 8000 端口运行起来了
  

   到这里,我们的项目算是初始化完成了。
  3. 提交代码到码云,方便管理

   方便代码维护管理,将代码前次至码云。
  码云地址:https://gitee.com
注册账号,登录上去。
新增堆栈

填好堆栈名称
勾选分支模型,其它什么都别选,如许能包管我们的堆栈最干净,不然会生成一些其它文件。

然后你会看到如许的界面

找到项目根目次,进入 git bash

按顺序执行以下下令
  1. git config --global user.name "曹申阳"
  2. git config --global user.email "1xxxxx@163.com"
  3. git init
  4. git add .
  5. git commit -m "项目初始化"
  6. git remote add origin https://gitee.com/xxxxx
  7. git push -u origin "master"
复制代码
这个时间刷新一下 gitee页面,即可看到提交记载了。

根据提示,你也可以添加一下本身的开源许可协议。通过网站直接添加,留意本地要拉取一下提交的协议。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

去皮卡多

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表