SpringBoot快速上手教程

news/2024/10/21 9:55:30

IDEA社区版 + JDK1.8 + Maven3.9.6 + Spring2.7.18
SpringBoot3不兼容JDK1.8

新建SpringBoot项目

使用SpringBoot Initializr创建

IDEA专业版可以直接创建SpringBoot项目,社区版创建可以使用网页版SpringBoot Initializr创建

  • 官方SpringBoot Initializr: https://start.spring.io (不支持SpringBoot3以下及JDK1.8)
  • 阿里云SpringBoot Initializr:https://start.aliyun.com (支持单应用/MVC架构)
  • 三方SpringBoot Initializr:https://springinitializrjava8.cc (支持JDK1.8)

如使用 https://springinitializrjava8.cc , 选择Maven,SpringBoot2.7.18,JDK8,依赖只添加SpringBoot Web插件,点击GENERATE按钮,生成项目并自动下载,如下图:

image

也可以根据需求自行修改项目信息

使用IDEA打开项目即可,项目结构如下图:

image

手动创建项目

其实SpringBoot Initializr程序只是添加了SpringBoot相关的依赖,并新建了一些基本目录以及应用启动的主函数而已,我们也可以手动创建

在IDEA中新建普通Java项目,选择Maven和JDK1.8,不使用示例代码,如下图:

image

添加spring-boot-starter-web依赖

 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.7.18</version></dependency></dependencies>
完整pom.xml
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>demo</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.7.18</version></dependency></dependencies></project>

然后重新加载一下Maven依赖,如下图:
image

在src/main/java中创建包com.example.demo,在包中创建Java类DemoApplication

package com.example.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}

在DemoApplication中,点击左边的运行按钮可启动项目,如下图

image

访问 http://localhost:8080 ,由于还没有编写接口,显示如下页面是正常的:
image

编写接口

在com.example.demo包中新建Java类HelloController(在MVC模式中,一般接口逻辑类叫Controller,即控制器)

控制器上添加注解@RestController,表示是一个HTTP接口类,并返回HTTP响应。
在其中编写一个返回String的方法hello,并使用@GetMapping挂载接口到"/hello"路径下,代码如下:

package com.example.demo;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@GetMapping("/hello")public String hello(){return "<h1>Hello</h1>";}
}

重新启动应用,访问 http://localhost:8080/hello ,显示效果如下:

image

获取请求参数

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

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

相关文章

低功耗4G模组Air780E快速入门:固件的远程升级

​ 今天我们学习Air780E快速入门之固件的远程升级,小伙伴们,学起来吧! 一、生成差分包 合宙的远程升级支持使用合宙云平台和自建服务器,此例程使用的是合宙云平台。 1.1 准备新旧版的core和脚本. 关于需要升级的core(固件),需要注意的点有: 1.1.1 需要 V1103及以上的固…

很干,但实用——4G模组供电设计及其选型推荐

​4G模组的外部电源供电设计十分重要,对系统稳定、射频性能都有直接影响。 怎么让工程师朋友们在应用开发中少走弯路呢?我将以Air780E为例,陆续分享系列实用干货。无论你是专家还是菜鸟,无论你是否使用的是合宙4G模组,都值得一看。 今天继续分享——供电设计及其选型推荐 …

Luatools新手必看:从下载开始的保姆级教程!

​作为由合宙所提供的调试工具,Luatools支持最新固件获取、固件打包、trace打印、单机烧录等功能 此工具适用于合宙所有 4G 模组和 4G + GNSS 模组。一、下载和安装 (一)运行环境要求此工具运行于win7及以上系统; 不支持 Mac和 Linux。(二)支持的模组型号Air724, 所有的 A…

关于Air780E:与服务器的加密通信操作方法

​ 今天我们来学习合宙低功耗4G模组Air780E快速入门之跟服务器之间的加密通信,伙伴们,一起学起来! 一、编写脚本 1.1 准备资料 Air780E开发板购买Air780E开发板设计资料 LuatOS-Air780E/网络加密通信程序源码demo 合宙的 TCP/UDP 测试服务器 API介绍说明 1.2 程序详解 1.2.1…

代码随想录算法训练营第一天 | 704. 二分查找、 27. 移除元素、977.有序数组的平方 (上)

1-704.二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 示例 2: 输…

基于BP神经网络的苦瓜生长含水量预测模型matlab仿真

1.算法运行效果图预览 (完整程序运行后无水印)T表示温度,v表示风速,h表示模型厚度 2.算法运行软件版本 matlab2022a3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频)for i = 1:13;figure;subplot(211);plot(y1{i},ro);hold onplot(Train_output1{i},b);xlabel(…

小车侧方位停车过程的动态模拟matlab仿真

1.课题概述小车侧方位停车过程的动态模拟matlab仿真。仿真得到小车的停车动画,小车移动的xy轴坐标以及角度变换。2.系统仿真结果 3.核心程序与模型 版本:MATLAB2022a%阶段3 %车轮 pause(1); for i=1:13ya1=ya1+0.5;yb1=yb1+0.5;ya2=ya2+0.5;yb2=yb2+0.5;cla; patch([Car…

实现dnmp中多站点多版本php并存

实现dnmp中多站点多版本php并存 PHP多版本部署之docker方式 背景 搞了一段时间Python,这两天又要开始做一些PHP相关的项目了,本地开发环境、测试环境、线上环境都需要重新弄了,为了开发方便还是决定用Docker方式来部署,自己又不想写Dockfile和compose文件啥的。于是找了下,…