第一个SpringBoot项目

ops/2024/10/18 23:26:37/

目录

💭1、新建New Project

 IDEA2023版本创建Sping项目只能勾选17和21,却无法使用Java8?🌟

2、下载JDK 17🌟

💭2、项目创建成功界面

1、目录 🌟

 2、pom文件🌟

💭3、运行项目

💭4、⽤ Spring Boot 来实现和浏览器及⽤⼾的交互。 

💭5、请求响应流程分析 


这里使用Idea 2023 专业版来创建项目

1、新建New Project👇

 

 IDEA2023版本创建Sping项目只能勾选17和21,却无法使用Java8?

分析Java17和Java 8(JDK1.8)的区别

  1. 版本号:Java 17 是 Java SE 17 的版本,而 JDK 1.8 是 Java SE 8 的版本。
  2. 发布时间:Java 17 发布于 2021 年,而 JDK 1.8 发布于 2014 年.
  3. 新特性:Java 17 相对于 JDK 1.8,新增了很多特性和改进,例如:Switch 表达式、Sealed 类、Pattern
  4. Matching for instanceof 等。
  5. 兼容性:Java 17 和 JDK 1.8 不兼容,由于 Java 的向后兼容性,Java 17 可以运行 JDK 1.8 的代码,但
  6. JDK 1.8 不支持 Java 17 的新特性。
  7. 安全性:Java 17 相对于 JDK 1.8,修复了更多的安全漏洞,提高了程序的安全性。

解决方法:升级JDK版本(采用JDK17或者21版本,创建项目后,springboot的版本要改为3.0以下,在pom.xml中把java改为1.8,如下图。)

2、下载JDK 17

官网下载:Java Archive Downloads - Java SE 17 (oracle.com)

选择Windows X64 Installer下载即可。

 

2、安装JDK17
双击已下载的jdk17,进入安装界面,点击下一步 ==> 选择安装路径,可更改路径,点击更改,我选择安装在E盘,点击确定 == > 点击下一步进行安装。安装完成后直接点击关闭即可。

3、配置Java环境变量

右击此电 ==> 属性 ==> 高级系统设置 ==>环境变量

4、验证是否配置成功
win+R输入cmd回车,输入java -version和javac -version,均返回jdk版本,如下图 

 

2、项目创建成功界面👇

 

1、目录 

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

  •  src/main/java: Java 源代码
  • •src/main/resources: 为静态资源或配置⽂件:
  1.      /static:静态资源⽂件夹, ⽐如前期学的js, css, html等静态⽂件, 不需要服务器数据进⾏绑定的 ⻚⾯
  2.      /templates:模版资源⽂件夹, 主要存放动态模板⽂件, ⽐如JSP, Freemarker, Thymeleaf等需 要服务器动态渲染数据的⽂件
  3. •src/test/java: 测试代码源代码 
  • target: 编译后的⽂件路径
  • pom.xml: maven 配置⽂件 

 2、pom文件

java"><?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>2.7.17</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>demo</description><properties><java.version>1.8</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:包含了单元测试所需要的常⻅依赖

3、运行项目👇

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

4、⽤ Spring Boot 来实现和浏览器及⽤⼾的交互。 👇

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

java">package com.example.demo;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@RequestMapping("/hello")public String hello() {return "hello,SpringBoot";}@RequestMapping("/helloCN")public String helloN() {return "hello,SpringBoot中文";}
}

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

 

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

5、请求响应流程分析 👇

浏览器:

  •  输⼊⽹址:http://127.0.0.1:8080/hello
  •         通过IP地址127.0.0.1定位到⽹络上的⼀台计算机, 127.0.0.1就是本机
  •  通过端⼝号8080找到计算机上对应的进程 , 也就是在本地计算机中找到正在运⾏的8080端⼝的 程序
  • /user/hello是请求资源位置
  •      资源:对计算机⽽⾔资源就是数据
  •       web资源:通过⽹络可以访问到的资源(通常是指存放在服务器上的数据) http://127.0.0.1:8080/user/hello ,就是向本地计算机中的8080端⼝程序,获取资源位置 是/user/hello的数据 8080端⼝程序,在服务器找/hello位置的资源数据,发给浏览器

服务器:

  • 接收到浏览器发送的信息(如:/user/sayhi) 
  • 在服务器上找到/user/hello的资源
  • 把资源发送给浏览器

 


http://www.ppmy.cn/ops/47290.html

相关文章

MySQL之查询性能优化(四)

查询性能优化 MySQL客户端/服务器通信协议 一般来说&#xff0c;不需要去理解MySQL通信协议的内部实现细节&#xff0c;只需要大致理解通信协议是如何工作的。MySQL客户端和服务器之间的通信协议是"半双工"的&#xff0c;这意味着&#xff0c;在任何一个时刻&#…

MySQL经典练习50题(上)(解析版)

所有笔记、生活分享首发于个人博客 想要获得最佳的阅读体验&#xff08;无广告且清爽&#xff09;&#xff0c;请访问本篇笔记 MySQL经典练习50题&#xff08;上&#xff09; 创建数据库和表 -- 建 表 -- 学 生 表 CREATE TABLE Student( s_id VARCHAR(20), s_name VARCHAR(2…

Flutter 中的 InheritedTheme 小部件:全面指南

Flutter 中的 InheritedTheme 小部件&#xff1a;全面指南 Flutter 是一个由 Google 开发的跨平台 UI 框架&#xff0c;它允许开发者使用 Dart 语言构建高性能、美观的移动、Web 和桌面应用。在 Flutter 的丰富组件库中&#xff0c;InheritedTheme 是一个特殊的组件&#xff0…

WPF 依赖属性原理、 附加属性

依赖属性如何节约内存 MSDN中给出了下面几种应用依赖属性的场景&#xff1a; 希望可在样式中设置属性。 希望属性支持数据绑定。 希望可使用动态资源引用设置属性。 希望从元素树中的父元素自动继承属性值。 希望属性可进行动画处理。 希望属性系统在属性系统、环境或用户…

病人预约的分析

需求确定&#xff1a; 系统提供病人分别通过电话&#xff0c;email等电话预约与网上直接预约两种方式进行预约。通过值班护士或者office Manager来管理预约&#xff0c;具体预约业务流程见Patient Appointment .vsd流程图。 系统通过病人直接预约&#xff0c;方便了patient就诊…

AI-WEB-1 vulnhub靶场

AI-WEB-1 端口扫描 仅开放80端口 访问80端口 啥也没有 目录扫描 查看robots.txt 发现两个新目录 Disallow: /m3diNf0/ Disallow: /se3reTdir777/uploads/全都无权限访问 加入路径后再次扫描目录 发现/m3diNf0/目录下存在info.php&#xff0c;/se3reTdir777/目录下存在ind…

Win11环境下Android Studio中Flutter开发环境构建(逐步解决)

flutter开发环境构建 1. Flutter开发环境搭建1.1 Android Studio1.2 flutter下载flutter设置环境变量增加国内镜像 1.3 flutter doctorAndroid toolchain&#xff1a;cmdline-tools component is missingAndroid toolchain&#xff1a;Some Android licenses not acceptedChrom…

outlook邮件使用技巧

1. 设置自动回复功能 设置自动回复功能可以让您在无法处理邮件时自动向发件人发送一条回复&#xff0c;通知他们您的情况。以下是如何在Outlook中设置自动回复的步骤&#xff1a; 1. 打开Outlook&#xff0c;在顶部菜单栏中选择“文件”。 2. 在左侧菜单中选择“信息”&#…