SpringBoot 项目创建与运行

news2024/11/17 1:52:26

一、Spring Boot

1、什么是Spring Boot?为什么要学 Spring Boot

Spring 的诞生是为了简化 Java 程序的开发的,而 Spring Boot 的诞生是为了简化 Spring 程序开发的。
Spring Boot 翻译一下就是 Spring 脚手架

盖房子的这个架子就是脚手架,脚手架的作用是砌筑砖墙,浇筑混凝土、方便墙面抹灰,装饰和粉刷的,简单来说,就是使用脚手架可以更快速的盖房子

而 Spring Boot 就是 Spring 框架的脚手架,它就是为了快速开发 Spring 框架而诞生的

每次技术的诞生和改进相比于之前的效率会有一个质的提升,而 Spring Boot 相比于Spring 也是如此


2、Spring Boot 优点

快速集成框架,Spring Boot 提供了启动添加依赖的功能,用于秒级集成各种框架。
内置运行容器,无需配置 Tomcat 等 Web 容器,直接运行和部署程序。

快速部署项目,无需外部容器即可启动并运行项目。
可以完全抛弃繁琐的 XML,使用注解和配置的方式进行开发。
⽀持更多的监控的指标,可以更好的了解项目的运行情况


三、Spring Boot 项目创建

1、使用 Idea 创建

Idea 社区版(其他版本也同样适用),先要安装 Spring Assistant(Spring 助手)插件才能创建 Spring Boot 项目,如下图所示

如果没有找到,版本不兼容。版本太老或者太新都会出现这种情况

解决方案:1、更换idea到合适版本;2、使用其他功能类似的插件

在这里插入图片描述

安装好之后,就有了 Spring Assistant 选项:

在这里插入图片描述

创建 Spring Boot 项目:

在这里插入图片描述

第一次打开 Spring Boot 项目需要加载很久,因为当前 Spring Boot 框架并没有在自己的本地仓库

在这里插入图片描述

在这里插入图片描述

运行:

在这里插入图片描述

为了加速 Spring Boot 项目的下载,在打开项目之前,请先确认自己的 Maven 已经配置为国内源:

在这里插入图片描述

使用国内数据源创建Spring Boot项目:

将 start.spring.io 修改

在这里插入图片描述


2、网页版创建(了解)

不使用 Idea 也可以创建 Spring Boot 项目,我们可以使用 Spring 官方提供的网页版来创建 SpringBoot 项目

1). 打开 spring boot 创建的网站——https://start.spring.io

2). 配置并创建 spring boot 项目

在这里插入图片描述

3). 点击生成按钮,生成一个 Spring Boot 的 zip 包

在这里插入图片描述

在这里插入图片描述

4). 解压 zip 项目目录,并使用 idea 打开项目

在这里插入图片描述


3、删除 spring boot 中的无效文件

在这里插入图片描述

4、项目目录介绍和运行

新建的 Spring Boot 项目目录如下:

Spring Boot 项目有两个主要的目录:

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

在这里插入图片描述


4.1、输出 Hello world

我们学习 JavaEE 就是用来实现 Web 项目或接⼝的,而之前是 Spring 其实是一个普通 Java 项目,没
办法直接和浏览器进行互动,所以接下来我们要用 Spring Boot 来实现和浏览器及用户的交互

创建的项目包路径下创建 UserController 文件,实现代码如下:

@Controller
public class UserController {
    @ResponseBody // 返回一个非静态页面的数据
    @RequestMapping("/sayhi") // 设置路由地址,一律小写
    public String sayHi() {
        return "hello, word";
    }
}

重新启动 DemoApplication,访问 http://localhost:8080/sayhi最终效果如下:

在这里插入图片描述


5、约定大于配置

——包路径错误:

我们尝试将 controller 移动到其他包下

运行我们的项目,发现程序报错了,如下图所示:

在这里插入图片描述

这说明 Spring Boot 项目没有将对象注入到容器中

以上情况反应了 Spring Boot 项目的另一个特点:约定大于配置
对比 Spring 的项目我们也可以看到这一特点,比如在 Spring 中也是要配置 Bean 的扫描路径的,而Spring Boot 则不需要,Spring 配置如下

在这里插入图片描述

结论 1: 需要将对象托管到 SpringBoot(Spring) 的对象,必须要放在 SpringBoot 启动类的根路径或者是子路径中,否则不能被框架识别
结论 2: SpringBoot 配置是比较少,但是Spring Boot 的设计思想是:约定大于配置

在这里插入图片描述


6、总结

Spring Boot 是为了快速开发 Spring 而诞生的,Spring Boot 具备:

快速集成框架,Spring Boot 提供了启动添加依赖的功能,用于秒级集成各种框架。

  • 内置运行容器,无需配置 Tomcat 等 Web 容器,直接运行和部署程序。
  • 快速部署项目,无需外部容器即可启动并运行项目。
  • 可以完全抛弃繁琐的 XML,使用注解和配置的方式进行开发。
  • ⽀持更多的监控的指标,可以更好的了解项目的运行情况等特点

Spring Boot 可使用 Idea 或网页创建,它的设计思想是约定大于配置,类上标注
@SpringBootApplication 就可以启动 Spring Boot 项目了


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

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

相关文章

【Linux】网络编程套接字

1 预备知识 1.1 IP地址 IP协议有两个版本,分别是IPv4和IPv6。没有特殊说明,默认都是IPv4对于IPv4,IP地址是一个四个字节32为的整数;对于IPv6来说,IP地址是128位的整数 我们通常也使用 “点分十进制” 的字符串表示IP…

C 语言高级1-内存分区,多级指针,位运算

目录 1. 内存分区 1.1 数据类型 1.1.1 数据类型概念 1.1.2 数据类型别名 1.1.3 void数据类型 1.1.4 sizeof操作符 1.1.5 数据类型总结 1.2 变量 1.1.1 变量的概念 3.1.2 变量名的本质 1.3 程序的内存分区模型 1.3.1 内存分区 1.3.1.1 运行之前 1.3.1.2运行之后 1…

无涯教程-Perl - 循环语句

在某些情况下,您需要多次执行一个代码块。通常,语句是按顺序执行的:函数中的第一个语句首先执行,然后第二个执行,依此类推。 Perl编程语言提供了以下类型的循环来处理循环需求。 Sr.No.Loop Type & 描述1 while loop在给定条…

Redis-1

Redis 理论部分 redis 速度快的原因 1、纯内存操作 2、单线程操作,避免了频繁的上下文切换和资源争用问题,多线程需要占用更多的 CPU 资源 3、采用了非阻塞 I/O 多路复用机制 4、提供了非常高效的数据结构,例如双向链表、压缩页表和跳跃…

【从零开始学习JAVA | 第三十七篇】初识多线程

目录 前言: ​编辑 引入: 多线程: 什么是多线程: 多线程的意义: 多线程的应用场景: 总结: 前言: 本章节我们将开始学习多线程,多线程是一个很重要的知识点&#xff…

Java泛型(Generic)

文章目录 泛型概述泛型的引入 使用泛型举例集合中使用泛型 比较器中使用泛型相关使用说明自定义泛型结构自定义泛型类或泛型接口3.2.1 说明 自定义泛型方法举例练习 泛型在继承上的体现通配符的使用使用注意点有限制的通配符泛型应用举例 泛型概述 举例1:中药店&am…

第一章:继承

系列文章目录 文章目录 系列文章目录前言继承的概念及定义继承的概念继承定义定义格式继承关系和访问限定符继承基类成员访问方式的变化 基类和派生类对象赋值转换(公有继承)继承中的作用域派生类的默认成员函数继承与友元继承与静态成员不能被继承的类复…

学习系统编程No.35【基于信号量的CP问题】

引言: 北京时间:2023/8/2/12:52,时间飞逝,恍惚间已经来到了八月,给我的第一感觉就是快开学了,别的感觉其实没有,哈哈!看着身边的好友网络相关知识都要全部学完了,就好像…

Linux系统---进程概念

文章目录 冯诺依曼体系结构操作系统(OS)进程的理解 进程状态 进程优先级 环境变量 进程地址空间 一、冯诺依曼体系结构 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。 如图为冯诺依曼体系结构图&…

【BEV感知】2-BEV感知算法数据形式

文章目录 1 图像1.1 如何获取图像特征? 2 点云2.1 稀疏性2.2 无序性2.3 为什么要用点云?2.4 如何提取点云特征?Point-basedVoxel-based 3 图像点云 1 图像 图像是由相机生成的,是将三维世界中的坐标点(单位为米&#…

I- yh的线段(2023河南萌新联赛第(四)场:河南大学)

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 yh喜欢好线段,好线段即两条线段相交且不与其他线段重合的线段。 两条线段[l1,r1]和[l2,r2]相交(如果存在至少一个x,使得l1≤x≤r1和l2≤x≤r2,则认为两个线段…

Linux运维面试题(四)之Linux服务管理

Linux运维面试题(四)之Linux服务管理 4.1 SSHSSH的登录验证方式SSH的登陆端口(默认22)和监听设置(/etc/ssh/sshd_config)SSH的登录用户限制(/etc/ssh/sshd_config PermitRootLogin)SSH的登录超时设置(/etc/…

软件测试之Docker常见问题汇总!附解决方法!

1、配置国内源进行docker安装,报错 HTTP Error 404 - Not Found 【整整200集】超超超详细的Python接口自动化测试进阶教程,真实模拟企业项目实战!! 原因: 由于配置国内镜像源时,把地址写错了,导…

使用火山云搜索ESCloud服务构建图文检索应用(以文搜图/以图搜图)

图文检索在生活中具有广泛的应用,常见的图片检索包括基于文本内容搜索和基于图片内容搜索。用户通过输入文字描述或上传图片就可以在海量的图片库中快速找到同款或者相似图片,这种搜索方式被广泛应用于电商、广告、设计以及搜索引擎等热门领域。 本文基…

Windows服务器中IIS部署图片文件夹—超详细图文

Windows服务器中IIS部署图片文件夹—超详细图文 注意:部署前请先安装IIS IIS安装步骤可参照:win11安装IIS步骤—图解_win11 iis_咏絮v的博客-CSDN博客 1、打开 IIS管理器—选择【网站】后右键【添加站点】 2、【添加网站】(填写网站名称/物理路径/IP地…

2023华数杯数学建模C题思路代码 母亲身心健康影响

C 题 母亲身心健康对婴儿成长的影响 母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护, 还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况,如抑郁、焦虑、 压力等,可能会对婴儿的认知、情感、社会行…

【java】【maven】【基础】MAVEN安装配置介绍

目录 1 下载 2 安装-windows为例 3 配置环境变量 3.1 JAVA_HOME 3.2 MAVEN_HOME 3.3 PATH 3.4 验证 4 MAVEN基础概念 4.1 仓库概念 4.2 坐标概念 4.2.1 打开网址 4.2.2 输入搜索内容junit 4.2.3 找到对应API名称点击 4.2.4 点击对应版本 4.2.5 复制MAVEN坐标 4.3 配置…

计算机网络(4) --- 协议定制

计算机网络(3) --- 网络套接字TCP_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/132035757?spm1001.2014.3001.5501 目录 1. 协议的基础知识 TCP协议通讯流程 ​编辑 2.协议 1.介绍 2.手写协议 1.内容 2.接口 …

Vulnhub: blogger:1靶机

kali:192.168.111.111 靶机:192.168.111.176 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.176 在80端口的/assets/fonts/目录下发现blog目录,访问后发现为wordpress 利用wpscan发现wordpress插件wpdisc…

WiFi爆破实战

提示:本文记录了博主的一次WiFi爆破实战 文章目录 写在前面一、将网卡连接Kali虚拟机二、网卡配置骤2.1 识别网卡2.2 净化环境2.3 启动监听2.4 探测周边WiFi 三、实施攻击3.1 对选定的目标WiFi实施监听3.2 发起DOS攻击3.3 实施爆破 写在最后 写在前面 提示&#xf…