探索 Spring Boot 项目全过程

news2024/12/28 19:31:04

文章目录

  • 🎇前言
  • 1.Spring Boot 所需环境
  • 2.Spring Boot 项目创建
    • 2.1 安装插件
    • 2.2 创建新项目
    • 2.3 项目属性配置
    • 2.4添加依赖
    • 2.4 修改项目名称
    • 2.5 添加框架支持
    • 2.6 目录介绍
  • 3.判断Spring Boot 创建项目是否成功
  • 🎆总结

在这里插入图片描述

🎇前言

在 Java 这个圈子,一提到框架就不得不提到 Spring Boot;那 Spring Boot 到底是何许物也呢?Spring Boot 就是简化 Spring 程序开发的框架。怎样理解 Spring Boot 和Spring 之间的关系呢?一句话总结:“Spring 的诞⽣是为了简化 Java 程序的开发的,而 Spring Boot 的诞⽣是为了简化 Spring 程序开发的”,简单的可以这样理解,汽车是为了出现方便诞生的,自动驾驶汽车是为了简化驾驶汽车操作的。

1.Spring Boot 所需环境

我们大部分人都是使用 IDEA 社区版(白嫖香啊),社区版是不支持创建 Spring Boot 项目的,但是没有关系,咱可以安装插件,安装插件之前我们需要知道的就是我们 IDEA 的版本最好是2021.3.2,因为高版本的 IDEA 中的插件是要收费的。

环境总结

  • JDK : 8
  • IDEA: IntelliJ IDEA 2021.3.2 (Community Edition)
  • Spring Boot Helper(插件): 2022.1.2
  • Spring Boot version: 2.7.X

2.Spring Boot 项目创建

2.1 安装插件

我们使用的IDEA社区版,它本身是不支持创建 Spring Boot项目的,因此我们需要安装插件来协助我们完成 Spring Boot 项目的创建。
在这里插入图片描述
这个插件安装好后,他有一个非常奇怪的操作,我们安装的时候它的名字是Spring Boot Helper 但是安装好后再去已安装目录中找不到这个名字,因为它自己改名字了改成了Spring Initializr and Assistant,如下图:
在这里插入图片描述

2.2 创建新项目

进入新建项目目录,选择Spring Initializr 这个选项,其他的默认选项就可以了,之后点击下一步。
在这里插入图片描述

2.3 项目属性配置

按照下方图片上的进行配置就行。
在这里插入图片描述

对上方的所以选项进行说明:

  • Group Id: 组织id
  • Artifact Id: 项目id
  • Version: 项目版本
  • Project type: 项目类型
  • Language: 开发语言
  • Packaging: 打包类型
  • Java version: Java 版本(推荐使用 Java 8)
  • Project name: 项目名称
  • Project description: 项目描述
  • Package name: 项目包名

2.4添加依赖

这里首先要选择Spring Boot 的版本号,我们悬着2.7.x这一类的,再选择下面的依赖;选择依赖可以在左边目录中选择,也可以在左上方的搜索框中搜索之后选择,我们创建的是 Spring Web 项目(其他项目也是类似),选择如下图。
在这里插入图片描述

扩展:
在选择版本号的时候,我们可以看到很多版本选择,我们选择2.7.X是因为我们使用的是Java 8,3.0.X版本的 Spring Boot 至少需要Java 17,这里选择版本号还有后缀英文的选择,这些选项是测试版本,也就是新版本,这些版本可能有 Bug 不是很稳定,如果你想体验新功能就使用测试版本,这里是推荐使用无后缀的稳定版本的。
在这里插入图片描述

2.4 修改项目名称

看到这里可能有人会懵了,上面不是已经写过名称了吗?为啥这里还要再写一遍项目名称呢?答案是:这里填写的项目名称是保存在文件夹上的项目名称,而项目属性配置填的项目名称是项目中目录上的名称。

这里填完,点击完成Spring Boot 项目开始创建了。
在这里插入图片描述

注意: 这里可能会加载很久,因为这是我们第一次创建,所以的依赖都要去远程仓库拉去。

2.5 添加框架支持

点击完成,还不算真的完成Spring Boot 项目的创建,还需要添加框架支持,右键点击最顶上的目录(spring-boot-demo),就会出现下方这个图的内容,跟着下方这个图,就能完成创建了。

在这里插入图片描述

2.6 目录介绍

查看目录结构,如下图,并且你的DemoApplication这个启动类是一个圆圈上方有一个绿色的三角,证明Spring Boot 创建成功了。
在这里插入图片描述
Spring Boot 项目有两个主要的目录:

  • src/main/java 为 Java 源代码
  • src/main/resources 为静态资源或配置文件:
    ○/static:静态资源文件夹;
    ○/templates:模板资源文件夹

3.判断Spring Boot 创建项目是否成功

在demo文件夹中创建一个TestController类,类中写下方内容:

package com.example.demo;


import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@ResponseBody
public class TestController {
    @RequestMapping("/sayHi")
    public String sayHi(String name) {
        if(!StringUtils.hasLength(name)) {
            name ="张三";
        }
        String res = "你好" + name;
        return  res;

    }
}

下完之后,我们运行demo文件夹中的DemoApplication启动类,之后进入网站http://127.0.0.1:8080/sayHi,能看到如下图输出内容,证明项目真就完成了。
在这里插入图片描述

🎆总结

Spring Boot 是为了快速开发 Spring ⽽诞⽣的,Spring Boot 具备:

  • 快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。
  • 内置运行容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序。
  • 快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬
  • 可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发
  • ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况等特点

Spring Boot 可使⽤ IDEA 或网页创建,它的设计思想是约定⼤于配置,类上标注@SpringBootApplication 就可以启动 Spring Boot 项⽬了。

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

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

相关文章

1. Except

文章目录 Except前言Except 语法Except 使用举例结合其他关键字使用EXCEPT with BETWEEN operatorExcept with IN operatorEXCEPT with LIKE operator 文章参考 Except 前言 SQL中,EXCEPT 操作用于检索存在于第一个表中的唯一记录,而不是两个表中共有的…

python3GUI--网速内存小工具By:PyQt5(附源码)

文章目录 一.前言二.预览1.主界面2.动图演示3.内存详细信息查看4.自定义界面 三.源代码1.tool_god_GUI.py2.tool_god_ui.py3.engine.py4.CWidgets.py 四.总结五.参考 一.前言 本次使用PyQt5进行开发一款网…

(并查集) 685. 冗余连接 II ——【Leetcode每日一题】

并查集基础 并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的Kruskal算法和求最近公共祖先(LCA)等。 并查集的基本操作主…

MySQL 分库分表实战之ShardingSpare

文章目录 概要一、安装二、配置2.1、 通用配置2.2、 分片配置2.3、读写分离 三、演练3.1、读写分离3.2、分库分表3.3、分库分表读写分离 4、总结 概要 市面上MySQL分库分表中间件还是很多的,主要分为两大类:应用层依赖类中间件(比如sharding…

【学习周报】

最近看过的几篇论文里,VALOR和InstructBLIP模型使用了cross-attention机制,以这两篇论文为基础着重学习cross-attention相关的代码和思路。 学习内容: cross-attention机制学习lstm与transformer 学习时间: 6.26 ~ 7.1 学习笔记…

Linux--重定向:> >> <

输出重定向&#xff1a;> a.如果目标文件不存在&#xff0c;则创建文件。反之 b.本来应该显示到显示器的内容&#xff0c;被写入到了文件中 示例&#xff1a; 追加重定向: >> 示例&#xff1a; 输入重定向&#xff1a;< 本来应该从键盘中读取的内容&#xff0c;变…

分布式锁的实现方案(免费gpt4分享)

1.1基于数据库 有两个方案&#xff1a;依赖数据库排他锁以及表主键的唯一。 依赖数据库排他锁&#xff1a; 在查询语句后面增加for update&#xff0c;数据库会在查询过程中给数据库表增加排他锁 (注意&#xff1a; InnoDB 引擎在加锁的时候&#xff0c;只有通过索引进行检索…

SpringBoot扩展机制

启动生命周期 一.Spring boot初始化器扩展 package com.lx.conmon.extend.intializer;import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext;/*** Spring boot初始化器扩展* author liu we…

AIPRM for ChatGPT 提示词模板扩展工具实践

&#xff08;1&#xff09;基本介绍 AIPRM for ChatGPT是一个Chrome浏览器扩展程序&#xff0c;基于Chromium内核开发的浏览器都可以使用该扩展&#xff0c;比如微软的Edge浏览器等。 在AIPRM的帮助下&#xff0c;我们可以在ChatGPT中一键使用各种专门为网站SEO、SaaS、营销、…

超详细,Python自动化测试 Allure报告参数化动态生成标题(实战)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 默认 allure 报告…

ubuntu安装openssh

Ubuntu安装openssh之后&#xff0c;然后在客户端安装winscp,然后就可以很方便的传输文件了 sudo apt install openssh-server sudo service ssh status sudo service ssh start sudo service ssh restart

自然语言处理从入门到应用——预训练模型总览:预训练模型存在的问题

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 相关文章&#xff1a; 预训练模型总览&#xff1a;从宏观视角了解预训练模型 预训练模型总览&#xff1a;词嵌入的两大范式 预训练模型总览&#xff1a;两大任务类型 预训练模型总览&#xff1a;预训练模型的拓展 …

DOM模型

文章目录 DOM模型获取DOM对象常用方法通过元素ID获取DOM对象通过元素标签名获取DOM对象通过元素的class属性获取DOM对象通过元素的name属性获取DOM对象通过CSS选择器获取所有DOM对象通过CSS选择器获取第一个DOM对象 获取DOM对象时机操作DOM属性直接通过属性名修改属性使用getAt…

Qt中使用QXmlStreamReader读取xml文件中遇到的问题

Qt系列文章目录 文章目录 Qt系列文章目录前言一、为什么xml.readElementText()是空的问题原因QXmlStreamReader类简介 前言 <?xml version"1.0" encoding"UTF-8"?> <note><yolov5>E:/work/python_jdk/yolov5/dist/detect/detect.exe&…

终于有人把 Java 面试高分 Guide 总结得如此系统,堪称傻瓜式笔记总结

纵观今年的技术招聘市场&#xff0c; Java 依旧是当仁不让的霸主 &#xff01;即便遭受 Go 等新兴语言不断冲击&#xff0c;依旧岿然不动。究其原因&#xff1a; Java 有着极其成熟的生态&#xff0c;这个不用我多说&#xff1b; Java 在 运维、可观测性、可监 控性方面都有着…

OpenCV(图像颜色空间变换)

目录 1、分类 1.1 RGB颜色模型 1.2 HSV颜色模型 1.3 GRAY颜色模型 2、图像数据类型间的相互转换 3 、颜色转换函数 1、分类 RGB\HSV\GRAY颜色模型。 1.1 RGB颜色模型 1.2 HSV颜色模型 1.3 GRAY颜色模型 2、图像数据类型间的相互转换 3 、颜色转换函数 第四个参数使用例子…

60、使用MNN+DBNET进行二维码检测

基本思想&#xff1a;顺手转了个模型&#xff0c;可以方便进行条形码和对应的数字检测&#xff0c;以方便下一步进行条形码识别和ocr进行数字检测(这里只检测暂不识别&#xff0c;识别暂定下一篇) cmakelists.txt cmake_minimum_required(VERSION 3.16) project(untitled22) s…

两台电脑之间传输文件——就近共享

文章目录 背景步骤补充&#xff1a;跨设备共享 背景 两台电脑之间共享文件有很多种方式&#xff0c;这里介绍一种最简洁的——Windows自带的就近共享。它适合偶尔传输一些简单文件。比如把笔记本上的电子书传输到surface上阅读。 注意: 如果共享的电脑正在运行最新版本的Wind…

js对象数组去重:

目录 双层for循环&#xff1a; indexof()&#xff1a; map方法(推荐)&#xff1a; 双层for循环&#xff1a; ​ //双层for循环let arrObj [{name: "小红",id: 1},{name: "小橙",id: 1},{name: "小黄",id: 4},{name: "小绿",id: 3}…

软件设计模式与体系结构-设计模式-结构型软件设计模式-组合模式

目录 结构型软件设计模式概述 一、组合模式动机组合模式结构实例一&#xff1a;五子棋游戏实例二&#xff1a;空军指挥系统关于组合模式的讨论1. 安全形式的组合模式2. 透明形式的组合模式优缺点适用环境 课程作业 结构型软件设计模式 概述 动机 结构型软件设计模式的主要目的…