2023.11.14 关于 Spring Boot 创建和使用

news2024/12/29 13:03:12

目录

Spring Boot 

Spring Boot 项目的创建

 网页版创建 Spring Boot 项目

Spring Boot 目录说明

项目运行


Spring Boot 

  • Spring Boot 是基于 Spring 设计的一个全新的框架,其目的是用来简化 Spring 的应用、初始搭建、开发的整个过程
  • Spring Boot 就是一个整合了很多可插拔组件的框架,内嵌工具(如 Tomcat、Jetty等),方便开发人员快速搭建和开发的一个框架

优点:

  • 快速的集成框架(可以快速的添加外部的 jar 包)
  • 内嵌式容器(内置了 Tomcat、Jetty等常用的 Web 容器,无需手动部署 WAR 包到独立的服务器上,开发人员可更方便地开发、测试和部署应用程序)
  • 抛弃繁琐的 XML(使用注解和配置进行开发)
  • 支持更多的监控指标(可以更加容易且只管观察到项目的运行情况) 

Spring Boot 项目的创建

  • 此处使用 IDEA 2021.3.2 社区版创建
  • JDK 版本为 JDK1.8

  • 前置工作:安装插件 Spring Boot Helper

注意:

  • 该插件在 IDEA 社区版 2022.1.x 之前都免费,IDEA 社区版 2022.2.x 之后开始收费,大家自行抉择

1. 选择 Spring Boot 项目,选择合适 JDK 版本,设置创建项目源(默认为 Spirng 官网)

2. 项目参数设置

3. 选择 Spring Boot 的版本,添加项目依赖

4. 设置项目名称和保存路径

5. 确保 IDEA 正确识别该项目为 Maven 


  • 此处为我创建项目时出现的错误,解决方案为下图所示


6. 最后启动运行 Spring Boot 项目

运行结果:

  • 启动无报错,证明该 Spring Boot 项目创建成功!

 网页版创建 Spring Boot 项目

 1. 点击下方链接,打开官网创建 Spring Boot 项目的网页

Spring Initializr

2. 按下图所示选择 并 创建 Spring Boot 项目

3. 此时浏览器会自动下载 图示 demo.zip 包

注意:

  • 该 demo.zip 可作为一个新 Spring Boot 项目包 的备份

使用方法:

  • 解压 demo.zip
  • 使用 IDEA 将解压好的文件夹打开即可

Spring Boot 目录说明

注意:

  • target 目录为当前项目的字节码,每次运行时都会生成该文件
  • 该文件存在缓存现象,从而可能会导致当我们修改代码时,重新运行代码,结果并未发生相应改变
  • 当出现缓存现象时,我们可以直接将 target 目录删除,重新运行 并 启动该项目

项目运行

  • 实现简单页面交互功能

  • 先创建一个 TestController 类
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@ResponseBody // 加在类上,表示当前类中的所有方法返回的都是非静态页面的数据
@RequestMapping("/test") // = @WebServlet("/url")
public class TestController {
    @RequestMapping("/say-hi") // = @WebServlet("/url")
    public String sayHi() {
        return "hello world";
    }
}

Spring Boot 项目的约定

  • 我们所创建的 包或类 需要写在  java.com.example.demo 目录下 或 其子目录下
  • 否则无法将对象存储到容器中

  • 此处我们先在 demo 目录下创建了一个子目录 controller 目录,再在 controller 目录下创建了 TestController 类
  • 体现了 Spring Boot 项目 约定大于配置 的特点

  • 直接运行 Spring Boot 项目的启动类

运行结果:

  • 如图示页面,控制台无报错,代表该项目启动成功

  • 打开浏览器,正确输入 URL 访问 TestController 类中的 sayHi 方法

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

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

相关文章

Redis配置、Redis类型

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…

Opengauss到Oracle增量同步, 使用debezium

一、概述 PG到Oracle的同步方案使用debezium kafka kafka-connect-jdbc。debezium是一款开源的变更捕获软件,它以kafka的connector形式运行,可以捕获PostgreSQL、MySQL、Oracle中的变更数据,保存到kafka。kafka-connect-jdbc是confluent公…

stable diffusion到底是如何工作的

stable diffusion简单入门 stable diffusion是一个文生图模型,主要由CompVis、Stability AI和LAION的研究者们创建。这个模型主要是在512X512分辨率的图像上训练的,训练数据集是LAION-5B,该数据集是目前可访问的最大的多模态数据集。 在这篇…

springboot服务和python服务如何自定义启动banner

shigen日更文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 shigen最近在修改ruoyi的框架,看到了框架自带的banner图,就是一个不爽,于是…

基于JavaWeb+SSM+微信小程序基金优选系统的设计和实现

基于JavaWebSSM微信小程序基金优选系统的设计和实现 源码获取入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 前言 基金优选是金融机构的核心,是必不可少的一个部分。在金融机构的整个服务行业中…

怎么恢复删除的数据? 8个有效的数据恢复方法

无论您在保存备份方面多么小心,灾难有时还是会发生。有时您的备份软件无法按预期运行。 如果您的外部驱动器靠近您的设备,发生火灾/洪水/故障时,有时备份会与原始文件一起丢失。即使是云存储也不能避免故障。 还有一个事实是,我…

微信@all bug复现及原理分析

1、复现 条件: 1、Windows PC 端微信 2、自建一个群聊拥有群管权限可以所有人 废话不多说,直接上图 所有人 剪切后,到另一个群中,引用任意一个群里成员的消息,并将刚才剪切的粘贴至此,发送 便可完成非群…

Ubuntu搭建openvpn服务器

文章目录 一、基于ubuntu搭建openvpn服务器二、制作相关证书2.1 制作ca证书 ./build-ca2.2 制作Server端证书2.3 制作Client端证书 三、配置服务器3.1 配置Server端3.2. 配置Client端 四、安装openvpn客户端:http://build.openvpn.net/downloads/releases/ 一、基于…

电脑技巧:U盘装系统跟光盘装系统有什么区别,看完你就懂了!

目录 一、制作方法 二、优点比较 2.1 U盘 2.2 光盘 三、缺点比较 一、制作方法 U盘:是通过制作U盘系统盘,插在电脑上启动U盘,然后从U盘上启动PE系统,在PE系统里加载预先下载好的镜像,然后开始安装系统。 光盘&am…

算法实战:亲自写红黑树之二 完整代码

此文承接:算法实战:亲自写红黑树之一-CSDN博客 目录 一、项目结构 二、辅助代码a.h 三、红黑树代码rbtree.h 四、测试代码main.cpp 五、运行效果 六、代码详解 一、项目结构 这里给出的代码是实际可以运行的代码。 运行环境:VS2022&am…

Python 如何实现适配器设计模式?什么是适配器(Adapter)设计模式?

什么是适配器设计模式? 适配器(Adapter)设计模式是一种结构型设计模式,它允许接口不兼容的类之间进行合作。适配器模式充当两个不兼容接口之间的桥梁,使得它们可以一起工作,而无需修改它们的源代码。 主要…

Hive入门--学习笔记

1,Apache Hive概述 定义: Hive是由Facebook开源用于解决海量结构化日志的数据统计,它是基于大数据生态圈Hadoop的一个数据仓库工具。 作用: Hive可以用于将结构化的数据文件【映射】为一张表,并提供类SQL查询功能。 H…

什么是原生IP与广播IP?如何区分?为什么需要用原生IP?

在代理IP中,我们常常听到原生IP与广播IP,二者有何区别?如何区分呢?下面为大家详细讲解。 一、什么是原生IP 原生IP地址是互联网服务提供商(ISP)直接分配给用户的真实IP地址,无需代理或转发。此…

OpenGL_Learn12(光照)

续OpenGL_Learn11(光照)-CSDN博客 1. 镜面高光 和漫反射光照一样,镜面光照也决定于光的方向向量和物体的法向量,但是它也决定于观察方向,例如玩家是从什么方向看向这个片段的。镜面光照决定于表面的反射特性。 我们通…

Redis:详解5大数据类型及其常用命令

目录 Redis键(key)字符串(String)简介常用命令数据结构简介常用命令 列表(List)简介常用命令数据结构 集合(Set)简介常用命令数据结构 哈希(Hash)简介常用命令…

Java排序算法之希尔排序

希尔排序(Shell Sort)又称“缩小增量排序”,是直接插入排序算法的一种更高效的改进版本。它的基本思想是:首先将整个数组按照一定的间隔分成若干个子序列,然后对每个子序列分别进行插入排序,减小间隔&#…

异步注解@Async失效的原因

在方法上加上Async注解,然后去启动类加上EnableAsync启动注解开启异步Async失效的原因 1、注解Async的方法不是public方法 2、注解Async的返回值只能为void或者Future 3、注解Async方法使用static修饰也会失效 4、spring无法扫描到异步类,没加注解Async …

AI大模型低成本快速定制法宝:RAG和向量数据库

文章目录 1. 前言2. RAG和向量数据库3. 论坛日程4. 购票方式 1. 前言 当今人工智能领域,最受关注的毋庸置疑是大模型。然而,高昂的训练成本、漫长的训练时间等都成为了制约大多数企业入局大模型的关键瓶颈。 这种背景下,向量数据库凭借其独特…

【yolov5报错解决】ModuleNotFoundError: No module named‘ultralytics.yolo‘

今天跑yolov5遇见一个报错,具体内容如下: 上面显示我没有ultralytics.yolo这个模块,但是我已经安装了ultralytics,同时,我也尝试了网上的方法pip install ultralytics.yolo,但是仍然得不到解决&#xff0c…

ai语音电销机器人电销行业要怎么降低封号率?

工信部对电话营销电话的管控越来越严格,企业电销行业的发展受到了很多限制,因为电话销售人员在进行销售工作的时候,经常会因为各种原因触发封号机制,导致手机卡号被封,那企业电销行业要怎么降低封号率? 很多…