【Sping Boot2】笔记

Spring Boot 2入门

  • 如何创建一个Spring Boot的Web例子?
    • 1.如何创建一个Spring Boot项目
      • 1.1 使用Maven构建一个Spring Boot 2项目
      • 1.1.1创建Maven工程
          • 注:Maven项目结构:
        • 1.1.2引入SpingBoot相关依赖依赖
          • 注意事项:
        • 1.1.3创建主类
        • 1.1.4编写业务类
        • 1.1.5运行测试
          • 服务端:
          • 浏览器:
          • 更改端口号
    • 2.使用Spring Initializr创建一个Spring Boot项目
      • 2.1创建项目
      • 2.2编写业务类
      • 2.3测试
    • 思考

如何创建一个Spring Boot的Web例子?

1.如何创建一个Spring Boot项目

功能:浏览器发送/hello请求,响应 Hello,Spring Boot 2 在页面上

1.1 使用Maven构建一个Spring Boot 2项目

1.1.1创建Maven工程

  • New Project—>

    • Name:项目名【自定义】
    • Loaction:项目存放位置【自己选】
    • Language:编程语言【Java】
    • Buid system:构建器【Maven】
    • JDK:选择jdk1.8及其以上
    • GroupId:包名
    • ArtifactId:项目名
  • —>Create

在这里插入图片描述

注:Maven项目结构:

hello_spring【根目录】
丨— src【src目录用于存放源码】
丨 丨—main
丨    丨—java【存放源码】
丨    丨—resources【存放静态资源】
丨    丨—test【测试模块】
丨— pom.xml【maven配置文件】

在这里插入图片描述

1.1.2引入SpingBoot相关依赖依赖

在pom.xml文件中,加上spring-boot-starter-parent父工程和spring-boot-starter-web依赖

	<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.4.RELEASE</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>

导入依赖后按刷新按钮来导入依赖,两个按钮效果一样
在这里插入图片描述

注意事项:

想要使用SpringBoot 2对Maven版本和Java具有要求
Maven版本大于3.5+
Javav版本jdk8及其以上
详情见:
SpingBoot官网–>Getting Started

1.1.3创建主类

在/src/main/java/下创建主类

package com.jiekki.boot;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/*** 主程序类* @SpringBootApplication:这是一个SpringBoot应用*/
@SpringBootApplication
public class MainApplication {public static void main(String[] args) {SpringApplication.run(MainApplication.class,args);}
}
1.1.4编写业务类
package com.jiekki.boot.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@ResponseBody
@Controller
public class HelloController {@RequestMapping("/hello")public String hello(){return "你好SpringBoot!";}
}

hello_spring【根目录】
丨— src【src目录用于存放源码】
丨 丨—main
丨    丨—java【存放源码】
丨        丨—com.jiekki.boot
丨            丨—controller
丨                丨—HelloController.java
丨            丨—MainApplication.java
丨    丨—resources【存放静态资源】
丨    丨—test【测试模块】
丨— pom.xml【maven配置文件】

1.1.5运行测试
服务端:

直接运行main方法
在这里插入图片描述

浏览器:

浏览器输入:localhost:8080/hello
在这里插入图片描述

更改端口号

在recources文件夹下新建application.properties,使用server.port=8088更改端口号
hello_spring【根目录】
丨— src【src目录用于存放源码】
丨 丨—main
丨    丨—java【存放源码】
丨        丨—com.jiekki.boot
丨            丨—controller
丨                丨—HelloController.java
丨            丨—MainApplication.java
丨    丨—resources【存放静态资源】
丨        丨—application.properties
丨    丨—test【测试模块】
丨— pom.xml【maven配置文件】

application.properties中的内容

#端口号默认值8080,更改为8088
server.port=8088

端口号修改后
后端: 重启项目,
浏览器: 重新发送请求localhost:8088/hello

在这里插入图片描述

2.使用Spring Initializr创建一个Spring Boot项目

项目名为myspringbootweb的web项目,功能:浏览器发送/hello请求,响应 Hello,Spring Boot 2 在页面上

2.1创建项目

创建步骤:

  • Spring Initializr—>
    • Name:项目名【自定义】
    • Loaction:项目存放位置【自己选】
    • Language:编程语言【Java】
    • Type:构建器【Maven】
    • GroupId:包名
    • ArtifactId:项目名
    • JDK:选择jdk1.8及其以上
  • —>next

在这里插入图片描述
选择需要添加的模块,本例是Web项目,所以选择Web中的Spring Web
—>Create
等待项目构建完毕
在这里插入图片描述
项目创建好了,可以发现跟我们手动用Maven导入Sring Boot依赖的方式创建的项目基本一致
Spring Boot脚手架帮我们自动创建了包文件夹和主类MyspringbootwebApplication.java
在这里插入图片描述

2.2编写业务类

package com.jiekki.boot.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@ResponseBody
@Controller
public class HelloController {@RequestMapping("/hello")public String hello(){return "你好SpringBoot!";}
}

2.3测试

**后端:**启动项目
在这里插入图片描述
**浏览器:**发送请求localhost:8080/hello
在这里插入图片描述
发现使用Spring Initializr创建Spring Boot更方便

思考

学习过Maven,应该知道依赖是可以继承的,因为我们的项目中选择
spring-boot-starter-parent作为父工程,那么父工程引入的依赖会被我们的项目继承,如果根据需要在我们项目pom.xml不如额外的定义依赖版本,那么引入的依赖会与父项目中引入的依赖版本保持一致

	<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.7</version><relativePath/> <!-- lookup parent from repository --></parent>

在这里插入图片描述

<?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.2.7</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.jiekki</groupId><artifactId>myspringbootweb</artifactId><version>0.0.1-SNAPSHOT</version><name>myspringbootweb</name><description>myspringbootweb</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.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></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><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

传统数据处理系统存在的问题

传统应用的数据系统架构设计时&#xff0c;应用直接访问数据库系统。当用户访问量增加时&#xff0c;数据库无法支撑日益增长的用户请求的负载&#xff0c;从而导致数据库服务器无法及时响应用户请求&#xff0c;出现超时的错误。 出现这种情况以后&#xff0c;在系统架构上就采…

【python】OpenCV—Nighttime Low Illumination Image Enhancement

文章目录 1 背景介绍2 代码实现3 原理分析4 效果展示5 附录np.ndindexnumpy.ravelnumpy.argsortcv2.detailEnhancecv2.edgePreservingFilter 1 背景介绍 学习参考来自&#xff1a;OpenCV基础&#xff08;24&#xff09;改善夜间图像的照明 源码&#xff1a; 链接&#xff1a…

Word “当前页“ 与 “前一页“ (含部分内容)间有大半页空白,删除空白方法

鼠标光标选中需要向上移的句子&#xff0c;右键点击“段落”&#xff0c;然后在跳出的窗口中按照“换行和分页”中的红色方框内取消勾选后&#xff0c;点击确定即可。

Python | Leetcode Python题解之第216题组合总和III

题目&#xff1a; 题解&#xff1a; class Solution:def combinationSum3(self, k: int, n: int) -> List[List[int]]:"""回溯法&#xff0c;对于当前k和n, 枚举元素"""def backtracking(k: int, n: int, ans: List[int]):if k 0 or n <…

《米小圈日记魔法》边看边学,轻松掌握写日记的魔法!

在当今充满数字化娱乐和信息快速变迁的时代&#xff0c;如何创新引导孩子们学习&#xff0c;特别是如何培养他们的写作能力&#xff0c;一直是家长和教育者们关注的焦点。今天就向大家推荐一部寓教于乐的动画片《米小圈日记魔法》&#xff0c;该系列动画通过其独特的故事情节和…

【Unity配置数据文件】ScriptableObject核心应用

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 专栏交流&#x1f9e7;&…

【Linux进程通信】共享内存

目录 共享内存函数 头文件 shmget ftok函数​ shmat shmdt shmctl 共享内存区是最快的IPC 形式。一旦这样的内存映射到共享它的进程的地址空间&#xff0c;这些进程间数据传递不再涉及到操作系统内核&#xff0c;换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据…

探索如何赋予对象迭代魔法,轻松实现非传统解构赋值的艺术

前言 今天下午在网上冲浪过程中看到这样一个问题 面试题&#xff1a;如何让 var [a, b] {a: 1, b: 2} 解构赋值成功&#xff1f; 据说是某大厂面试题&#xff0c;于是我学习了一下这个问题&#xff0c;写下这篇文章记录一下。 学习过程 要想解决这个问题首先要知道什么是解…

Qt:7.QWidget属性介绍(cursor属性-光标形状、font属性-控件文本样式、tooltip属性-控件提示信息)

目录 一、cursor属性-光标形状&#xff1a; 1.1cursor属性介绍&#xff1a; 1.2获取当前光标形状——cursor()&#xff1a; 1.3 设置光标的形状——setCursor()&#xff1a; 1.4 设置自定义图片为光标&#xff1a; 二、font属性-控件文本样式&#xff1a; 2.1font属性介绍…

excel PivotTable 透视表

开发数据导出excel功能&#xff0c;设置导出透视表 数据源&#xff1a; 透视表&#xff1a; 使用插件EPPlus 数据源&#xff1a; IF OBJECT_ID(tempdb..#temptable) IS NOT NULLDROP TABLE #temptable; CREATE TABLE #temptable ( [PROJECT] varchar(50), [PRODUCT_CODE] var…

VSCode 自动调整格式失效了 ESLint

ESLint【最新注意2.4.4版本有问题&#xff0c;需退回2.4.2版本就恢复正常了】 参考&#xff1a;vscode自动格式化失效_vscode保存自动格式化失效-CSDN博客

AI PC(智能电脑)技术分析

一文看懂AI PC&#xff08;智能电脑&#xff09; 2024年&#xff0c;英特尔、英伟达等芯片巨头革新CPU技术&#xff0c;融入AI算力&#xff0c;为传统PC带来质的飞跃&#xff0c;引领智能计算新时代。 2024年&#xff0c;因此被叫作人工智能电脑&#xff08;AI PC&#xff09;…

一文带你初探FreeRTOS信号量

本文记录我初步学习FreeRTOS的信号量的知识&#xff0c;在此记录分享&#xff0c;希望我的分享对你有所帮助&#xff01; 什么是信号量 在FreeRTOS中&#xff0c;信号量&#xff08;Semaphore&#xff09;是一种用于任务间同步和资源共享的机制。信号量主要用于管理对共享资源的…

汽车电子行业知识:什么是电子后视镜

文章目录 1.什么是电子后视镜2.有哪些汽车用到了电子后视镜3.电子后视镜的原理及算法4.电子后视镜的优点5.电子后视镜的未来市场将继续增长 1.什么是电子后视镜 电子后视镜是一种集成了电子元件和显示屏的汽车后视镜&#xff0c;用于替代传统的机械后视镜。它通过内置的摄像头捕…

九浅一深Jemalloc5.3.0 -- ⑨浅*gc

目前市面上有不少分析Jemalloc老版本的博文&#xff0c;但5.3.0却少之又少。而且5.3.0的架构与之前的版本也有较大不同&#xff0c;本着“与时俱进”、“由浅入深”的宗旨&#xff0c;我将逐步分析Jemalloc5.3.0的实现。 另外&#xff0c;单讲实现代码是极其枯燥的&#xff0c;…

使用React复刻ThreeJS官网示例——keyframes动画

最近在看three.js相关的东西&#xff0c;想着学习一下threejs给的examples。源码是用html结合js写的&#xff0c;恰好最近也在学习react&#xff0c;就用react框架学习一下。 本文参考的是threeJs给的第一个示例 three.js examples (threejs.org) 一、下载threeJS源码 通常我们…

go开源webssh终端源码main.go分析

1.地址: https://github.com/Jrohy/webssh.git 2.添加中文注释地址: https://github.com/tonyimax/webssh_cn.git main.go分析 主包名&#xff1a;main package main //主包名 依赖包加载 //导入依赖包 import ("embed" //可执行文件…

申请SSL证书 SSL是如何保护网站安全的

随着互联网的不断发展&#xff0c;网络安全问题日益凸显&#xff0c;特别是在数据传输和存储方面。为了保护网站和用户的数据安全&#xff0c;SSL&#xff08;安全套接层&#xff09;技术应运而生&#xff0c;成为了保护网站安全的重要工具。本文将详细介绍SSL如何保护网站安全…

星光云720全景VR系统源码

星光云720全景VR系统源码 系统体验地址项目介绍JDK版本后端主要依赖前端框架前端node 版本用户端框架介绍技术选型依赖全景内容简介系统图片部分功能截图系统体验地址 系统体验地址 VR全景系统体验地址 账号&#xff1a;18175760278 密码&#xff1a;12345678 项目介绍 JDK版…