【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.mzph.cn/pingmian/40812.shtml

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

相关文章

VIM介绍

VIM&#xff08;Vi IMproved&#xff09;是一种高度可配置的文本编辑器&#xff0c;用于有效地创建和更改任何类型的文本。它是从 vi 编辑器发展而来的&#xff0c;后者最初是 UNIX 系统上的一个文本编辑器。VIM 以其键盘驱动的界面和强大的文本处理能力而闻名&#xff0c;是许…

Python学习之小游戏--坦克大作战

今天跟视频学习了Python实现坦克大作战小游戏&#xff0c;挺有意思的&#xff0c;一起来玩吧~ 按空格发射子弹&#xff0c;上下左右键实现移动&#xff0c;ESC键无限复活。 import pygame,time,random from pygame.sprite import Sprite SCREEN_WIDTH800 SCREEN_HEIGHT500 BG…

Vue3中为Ant Design Vue中Modal.confirm自定义内容

在一次业务开发时代码时&#xff0c;碰到了一种既想要Modal.confirm样式&#xff0c;又想要定制其content内容的情况。 大部分情况下&#xff0c;使用Modal.method()这种方式时&#xff0c;可能content内容固定都是字符串&#xff0c;那如果想要做更高级的交互怎么办&#xff…

【Git-驯化】一文学会git配置用户信息,git config用法细节

【Git-驯化】一文学会git配置用户信息&#xff0c;git config用法细节 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 免费获取相关内容文档…

Sourcecodester Fantastic Blog CMS v1.0 SQL 注入漏洞(CVE-2022-28512)

前言 CVE-2022-28512 是一个存在于 Sourcecodester Fantastic Blog CMS v1.0 中的 SQL 注入漏洞。攻击者可以通过 "/fantasticblog/single.php" 中的 id 参数注入恶意 SQL 查询&#xff0c;从而获得对数据库的未经授权的访问和控制。 漏洞详细信息 漏洞描述: 该漏…

工具发送formdata请求 Multipartfile 接收

1.需求&#xff1a; 接收到 (Multipartfile file 文件 》使用工具转发到别的请求&#xff0c;将文件传到别的接口 主要代码&#xff1a; InputStreamResource inputstreamResource new InputstreamResource(file.getInputstream(), file.getoriginalfilename());MultiReso…

全网都在疯传的最新蓝海风口项目!

最近全网都在疯传这种视频&#xff0c;想必兄弟们都见到过了&#xff01; 大家看这个号&#xff0c;1天的时间&#xff0c;2个作品&#xff0c;第2个直接就爆了&#xff0c;昨天看点赞还是3.8w&#xff0c;今天已经10w了&#xff0c;这是妥妥的风口啊&#xff01; 大家有没有想…

应用在灯带Type-C接口上的PD SINK协议芯片ECP5701/ECP5702获取充电器的5V、9V、12V、15V、20V供电

方案背景 近日&#xff0c;欧盟就统一充电器接口的提案达成了一项政治协议&#xff0c;其中规定了在欧盟地区销售的所有手机或其他便携式中小型电子设备必须采用统一的USB Type-C接口。这项决定意味着未来将会有更多的产品强制性地使用TYPE-C充电接口。 在这个背景下&#xf…

wordpress 付费主题modown分享,可实现资源付费

该主题下载地址 下载地址 简介 Modown是基于Erphpdown 会员下载插件开发的付费下载资源、付费下载源码、收费附件下载、付费阅读查看隐藏内容、团购下载的WordPress主题&#xff0c;一款针对收费付费下载资源/付费查看内容/付费阅读/付费视频/VIP会员免费下载查看/虚拟资源售…

在Linux上查找文件的2个好用的命令

1. locate xx &#xff08;查找带xx字符的所有文件或目录&#xff09; 在终端输入命令 locate lua&#xff0c;可以看到&#xff0c;所有带lua字符的文件或目录都会被搜索出来。 2. find / -name xx &#xff08;查找名为xx的文件或目录&#xff09; 在终端输入命令 find …

SpringBoot集成beetl模板快速入门

在pom文件引入maven依赖 <dependency><groupId>com.ibeetl</groupId><artifactId>beetl-framework-starter</artifactId><version>1.1.81.RELEASE</version></dependency>写一个controller /*** author * create * descripti…

SecureCRT--使用sftp上传和下载文件

原文网址&#xff1a;SecureCRT--使用sftp上传和下载文件_IT利刃出鞘的博客-CSDN博客 简介 本文介绍SecureCRT如何在软件内直接上传和下载文件。 SecureCRT可以用如下两种方法上传和下载文件&#xff1a; 自带的sftp插件服务器安装rz/sz命令 本文介绍第一种方法&#xff0…

【Android面试八股文】Android性能优化面试题:怎样检测函数执行是否卡顿?

文章目录 卡顿一、可重现的卡顿二、不可重现的卡顿第一种方案: 基于 Looper 的监控方法第二种方案:基于 Choreographer 的监控方法第三种方案:字节码插桩方式第四种方案: 使用 JVMTI 监听函数进入与退出总结相关大厂的方案ArgusAPMBlockCanaryQQ空间卡慢组件Matrix微信广研参…

vue目录说明

vue目录说明 主要目录说明 .vscode - - -vscode工具的配置文件夹 node_modules - - - vue项目的运行依赖文件夹 public - - -资源文件夹&#xff08;浏览器图标&#xff09; src- - -源码文件夹 .gitignore - - -git忽略文件 index.html - - -入口html文件 package.json - - -…

系统架构设计师教程(清华第2版)<第1章 绪论>解读

系统架构设计师教程 第一章 绪论 1.1 系统架构概述1.1.1 系统架构的定义及发展历程1.1.2 软件架构的常用分类及建模方法1.1.3 软件架构的应用场景1.1.4 软件架构的发展未来1.2 系统架构设计师概述1.2.1 架构设计师的定义、职责和任务1.2.2 架构设计师应具备的专业素质1.3 如何成…

上份工作不干了24年5月-6月回顾(面试+软考)需要资料的小伙伴可以关注下

前言&#xff1a; 博主在5月和6月基本没有对博客内容进行更新了&#xff0c;不是博主偷懒&#xff0c;5月份博主在全力准备24年系统分析师的软考&#xff0c;6月份在准备面试&#xff0c;现在对5月和6月进行回顾&#xff1b; 先说下软考系统分析师&#xff1a; 博主实在今年3月…

记录OSPF配置,建立邻居失败的过程

1.配置完ospf后&#xff0c;在路由表中不出现ospf相关信息 [SW2]ospf [SW2-ospf-1]are [SW2-ospf-1]area 0 [SW2-ospf-1-area-0.0.0.0]net [SW2-ospf-1-area-0.0.0.0]network 0.0.0.0 Jul 4 2024 22:11:58-08:00 SW2 DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5.25 .1…

arm_uart4实验

#include "uart4.h" //UART //初始化 void hal_uart4_init() { //rcc_init //…

前端Debugger时复制的JS对象字符转JSON对象

前端debugger时&#xff0c;复制的对象在控制台输出时是如下格式&#xff0c;需要转换为对象格式来进行验证操作 bridgeId : 4118 createBy : null createTime : "2023-03-24 10:35:26" createUserId : 1 具体实现代码&#xff1a; // 转换transform (text) {l…

openlayers中区域掩膜的实现

概述 在前文完成了mapboxGL中区域掩膜的实现。近日有人问到说在openlayers中如何实现&#xff0c;本文就带大家看看如何在openlayers中实现区域掩膜。 实现效果 实现 1. 实现思路 在地图容器中添加一个canvas&#xff0c;设置其在map之上&#xff1b;监听map的postrender事…