SpringBoot安装及配置

server/2025/1/8 19:57:24/

1 Spring Boot介绍

Spring让Java程序更加快速, 简单和安全. Spring对于速度、简单性和⽣产⼒的关注使其成为世界上最流⾏的Java框架。

这些项⽬都是基于Spring Framework来进⾏开发的, 但是Spring Framework存在配置多, ⼊⻔难的问题, Spring 也意识到了这个问题, 为了简化开发者的使⽤, 从⽽创造性的推出了SpringBoot.

Spring Boot 就是 Spring 框架的脚⼿架,它是为了快速开发 Spring 框架⽽诞⽣的

2 Spring Boot 项⽬创建

2.1 使⽤ Idea 创建 Spring Boot 项⽬.

1.若为非专业版IDEA请安装IDEA插件

2.创建SpringBoot项⽬

接下来我们来创建 Spring Boot 项⽬:

File -> New ->Project

类似Spring官网

上图说明

① SpringBoot版本 , 选择任意3.X的, 这个版本会随着SpringBoot的升级⽽发⽣变化, 不固定

3.X版本使⽤的是jdk17, 3.X以下使⽤的是JDK8

② 打勾表⽰创建项⽬之初, 就引⼊的第三⽅依赖(框架, 插件, 组件等...

点击 Create 就完成 Spring Boot 的项⽬创建了。

注意事项 

第⼀次打开 Spring Boot 项⽬需要加载很久,因为当前 Spring Boot 框架并没有在⾃⼰的本地仓库. 为了加速 Spring Boot 项⽬的下载,在打开项⽬之前,请先确认⾃⼰的 Maven 已经配置为国内源见博主上一篇Maven安装与配置

3 项⽬代码和⽬录介绍

观察pom⽂件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.7</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.zzl</groupId><artifactId>springboor-demo</artifactId><version>0.0.1-SNAPSHOT</version><name>springboor-demo</name><description>springboor-demo</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>17</java.version></properties><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><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

pom⽂件中, 引⼊了两个依赖

spring-boot-starter-web:包含了web应⽤开发所需要的常⻅依赖

spring-boot-starter-test:包含了单元测试所需要的常⻅依赖

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

src/main/java: Java 源代码

src/main/resources: 为静态资源或配置⽂件:

/static:静态资源⽂件夹, ⽐如前期学的js, css, html等静态⽂件, 不需要服务器数据进⾏绑定的

⻚⾯

/templates:模版资源⽂件夹, 主要存放动态模板⽂件, ⽐如JSP, Freemarker, Thymeleaf等需要服务器动态渲染数据的⽂件

src/test/java: 测试代码源代码

target: 编译后的⽂件路径

pom.xml: maven 配置⽂件

可以删除无关文件,只留下src文件和pom文件

4 运⾏项⽬

点击启动类的 main ⽅法就可以运⾏ Spring Boot 项⽬了,启动成功如下图所⽰:

5 输出 Hello world

我们的Java EE课程, 更多是围绕着如何使⽤Java来进⾏web开发.

咱们前⾯的课程中, 讲的是Java基础, 是没办法直接和浏览器进⾏互动的. 所以接下来我们要⽤ Spring

Boot 来实现和浏览器及⽤⼾的交互。

在创建的项⽬包路径下创建 UserController ⽂件,实现代码如下:

注意:

package com.zzl.springboordemo;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping@RestController
public class HelloWorld {@RequestMapping("/hello")public String sayHello() {return "Hello World";}
}

重新启动项⽬,访问 http://127.0.0.1:8080/hello 最终效果如下:

package com.zzl.springboordemo;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping@RestController
public class HelloWorld {@RequestMapping("/hello")public String sayHello() {return "Hello World";}
}

6 Web服务器

浏览器和服务器两端进⾏数据交互, 使⽤的就是HTTP协议

前⾯我们已经学习了 HTTP 协议, 知道了 HTTP 协议就是 HTTP 客⼾端和 HTTP 服务器之间的交互数据的格式.

Web 服务器就是对HTTP协议进⾏封装, 程序员不需要直接对协议进⾏操作(⾃⼰写代码去解析http协议规则),让Web开发更加便捷, 所以Web服务器也被称为WWW服务器, HTTP服务器, 主要功能是提供⽹

上信息浏览服务.

常⻅的Web服务器有: Apache,Nginx, IIS, Tomcat, Jboss等

SpringBoot 内置了Tomcat服务器, ⽆需配置即可直接运⾏

Tocmat默认端⼝号是8080, 所以我们程序访问时的端⼝号也是8080

7 请求响应流程分析

浏览器输⼊URL之后, 发起请求, 就和服务器之间建⽴了连接

服务器:

浏览器:

输⼊⽹址:http://127.0.0.1:8080/hello

通过IP地址127.0.0.1定位到⽹络上的⼀台计算机, 127.0.0.1就是本机

通过端⼝号8080找到计算机上对应的进程 , 也就是在本地计算机中正在运⾏的8080端⼝的程序

/user/sayhi是请求资源位置

资源:对计算机⽽⾔资源就是数据

web资源:通过⽹络可以访问到的资源(通常是指存放在服务器上的数据)

http://127.0.0.1:8080/user/sayhi ,就是向本地计算机中的8080端⼝程序,获取资源位置是/user/sayhi的数据

8080端⼝程序,在服务器找/hello位置的资源数据,发给浏览器

服务器: 

接收到浏览器发送的信息(如:/user/sayhi)

在服务器上找到/user/sayhi的资源

把资源发送给浏览器

8 访问出错怎么办

8.1 404

404 表⽰⽤⼾访问的资源不存在. ⼤概率是 URL 的路径写的不正确.

错误实例1: url单词拼错

错误实例2: 注解写错

@Controller

public class UserController {

@RequestMapping("/sayHi")

public String sayHi(){

return "hello,Spring";

}

}

访问时也会报错404

通过Fiddler观察Http请求

8.2 500

服务器出现内部错误. ⼀般是服务器的代码执⾏过程中遇到了⼀些特殊情况(服务器异常崩溃)会产⽣这

个状态码.

错误实例:

@RestController

public class UserController {

@RequestMapping("/sayHi")

public String sayHi(){

int res = 10/0;

return "hello,Spring";

}

}

重启 Tomcat 服务器.

重新访问⻚⾯, 可以看到:

3.8.3 ⽆法访问此⽹站

⼀般是 Tomcat 启动失败了.

打开Fiddler的话, 界⾯如下

4. 总结

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

Spring Boot 提供了启动添加依赖的功能, 可以快速集成框架.

内置web服务器,⽆需配置 Tomcat 等 Web服务器,直接运⾏和部署程序.

可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发.

⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况等特点.

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


http://www.ppmy.cn/server/156867.html

相关文章

电脑硬盘系统迁移及问题处理

一、系统迁移准备 1、确认你的电脑主板是否支持安装两块硬盘,如电脑主板有多个M2硬盘接口,我们将新硬盘安装到主板上,原来的老硬盘安装在第二个接口上,主板只有一个M2接口的话可以使用移动硬盘盒。 2、新硬盘安装好后,我们进入原来的系统,在 此电脑–右键–管理–磁盘管…

英伟达 RTX 5090 显卡赋能医疗大模型:变革、挑战与展望

一、英伟达 RTX 5090 与 RTX 4090 技术参数对比 1.1 核心架构与制程工艺 在探讨英伟达 RTX 4090 与 RTX 5090 的差异时&#xff0c;核心架构与制程工艺无疑是最为关键的基础要素&#xff0c;它们从根本上决定了两款显卡的性能上限与应用潜力。 1.1.1 核心架构差异 RTX 4090…

计算机网络——数据链路层-流量控制和可靠传输

一、流量控制 流量控制是指由接收方及时控制发送方发送数据的速率&#xff0c;使接收方来得及接受。 • 停止等待流量控制 • 滑动窗口流量控制 1、停止—等待流量控制 停止-等待流量控制的基本原理是发送方每发出一帧后&#xff0c;就要等待接收方的应答信号&#xff…

关于Redis的面试题目及其答案

什么是Redis&#xff1f; Redis是一个开源的、基于键值对存储的NoSQL数据库&#xff0c;常用于缓存、会话存储和消息队列系统。 Redis为什么这么快&#xff1f; Redis之所以快是因为它使用内存作为主要存储介质&#xff0c;并且采用了单线程模型避免了多线程的上下文切换开销。…

HCIA-Access V2.5_8_1_EPON原理_PON基本概念

前言 考虑到未来许多带宽的应用&#xff0c;越来越多的国家认识到必须尽早突破接入瓶颈&#xff0c;铜缆的xDSL技术已经走到了尽头&#xff0c;而光纤是迄今发现的最好的传输介质&#xff0c;所以PON网络的应用也是越来越多&#xff0c;本章主要介绍EPON系统原理及相关技术&…

【力扣热题100】—— Day18.将有序数组转换为二叉搜索树

期末考试完毕&#xff0c;假期学习开始&#xff01; —— 25.1.7 108. 将有序数组转换为二叉搜索树 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵平衡二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] …

CANN 学习——基于香橙派 KunpengPro(1)

异构计算架构CANN&#xff08;Compute Architecture for Neural Networks&#xff09;是昇腾针对AI场景推出的异构计算架构&#xff0c;向上支持多种AI框架&#xff0c;包括MindSpore、PyTorch、TensorFlow等&#xff0c;向下服务AI处理器与编程。 1CANN 总体架构 CANN 软件架…

数据结构:包装类和泛型

目录 一、包装类 1、基本数据类型和对应的包装类 2、装箱和拆箱 3、自动装箱和自动拆箱 二、泛型 1、什么是泛型 2、泛型语法 3、泛型类 4、擦除机制 5、泛型的上界 6、泛型方法 三、通配符 1、什么是通配符 2、通配符上界 3、通配符下界 &#x1f4da…