在idea中创建一个SpringBoot模块

news/2025/4/2 15:32:31/

方式一:自动创建(需要联网)

第一步:新建模块

按住ctrl+shift+alt+s,打开项目结构,选择新建模块;
在这里插入图片描述

第二步:选择Spring Web

(1)选择SpringBoot版本,jdk11需要选2.x版本的;
(2)勾选Web里面的Spring Web;
(3)点Finish;
在这里插入图片描述

第三步:静候佳音

首次创建,idea会去下载许多的依赖;等自动生成的java文件夹恢复成蓝色,下方下载进度条消失后,springboot模块就创建完成了
在这里插入图片描述

第四步:创建测试类

在src->main->java>com.test.springboot_demo下面创建一个测试类,测试类代码如下:

package com.test.springboot_demo;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/SpringBoot")
public class Hello {@RequestMapping("demo")public String demo() {return "Hello SpringBoot!";}
}

在这里插入图片描述

第五步:启动

在自动生成的SpringbootDemoApplication.java中启动程序,打开页面,输入:http://localhost:8080/SpringBoot/demo
在这里插入图片描述

页面显示“Hello SpringBoot”,测试成功
在这里插入图片描述

方式二:手动创建(推荐使用)

第一步:新建Maven

新建一个Maven,参考:http://t.csdn.cn/czHuS
在这里插入图片描述

第二步:添加依赖

将前面自动创建的SpringBoot模块中的配置复制过来,当然手敲也是可以的;复制过来后记得重新加载下pom.xml文件
在这里插入图片描述

第三步:创建测试类、启动类

创建测试类

package com.test.web;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/SpringBoot")
public class Hello {@RequestMapping("/fighting")public String fighting(){return "千秋邈矣独留我,百战归来再读书!";}
}

在这里插入图片描述

创建启动类

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

在这里插入图片描述

第四步:启动

在启动类(Start.java)中启动程序,打开页面,输入:http://localhost:8080/SpringBoot/demo
在这里插入图片描述
测试完成,手动创建SpringBoot模块成功
在这里插入图片描述

总结

推荐使用手动创建的方式,理由有二:

(1)自动创建需要联网。实际开发项目时,有的企业可能不允许联网;而手动创建无需联网,SpringBoot所需的依赖可以在本地仓库,或者公司配置的私服中获取;

(2)自动创建会生成一些不必要的文件。从上面自动创建和手动创建后的文件结构中就可以看出来,自动创建的SpringBoot模块额外生成了一些文件和依赖,这不免让人有点头大:放着不知道干啥用的,删了又怕有影响。所以就不如手动创建,需要什么就引用什么。


http://www.ppmy.cn/news/109859.html

相关文章

UNIX网络编程卷一 学习笔记 第十七章 ioctl操作

ioctl函数传统上一直作为那些不适合归入现有已定义类别的特性的系统接口。POSIX正在通过创建特定的包装函数来代替ioctl函数的某些功能,以取而代之的是那些已被POSIX标准化的函数。例如,Unix终端接口传统上使用ioctl函数访问,而POSIX为终端创…

【SpringCloud】SpringAMQP

文章目录 1、AMQP2、基本消息模型队列3、WorkQueue模型4、发布订阅模型5、发布订阅-Fanout Exchange6、发布订阅-DirectExchange7、发布订阅-TopicExchange 1、AMQP Advanced Message Queuing Protocol,高级消息队列协议。是用于在应用程序之间传递业务消息的开放标…

spring security的java功能演示

下面是一个使用Java和Spring Security的详细示例代码。该示例演示了如何设置身份验证和授权规则,并保护特定的URL路径。请注意,这只是一个基本示例,您可以根据自己的需求进行修改和扩展。 首先,确保您已经安装了Java开发环境&…

数字图像学笔记 —— 18. 图像抖动算法

文章目录 为什么需要图像抖动图像抖动算法实现的基本思路常见图像抖动算法实现Floyd-Steinberg 抖动算法Atkinson 抖动算法算法实现 为什么需要图像抖动 在数字图像中,为了表示数字图像的细节,像素的颜色深度信息最少也是8位,即 0 − 256 0…

WebrtcNode, publish-sdp offer 流程(1)

1. AmqpClient - New message received sdp offer 的消息 AmqpClient - RpcServer New message received {method: onTransportSignaling,args: [aa230ce0863e42baa8bae5c14e91e809,{sdp: v0\r\n o- 2367615733001925388 2 IN IP4 127.0.0.1\r\n s-\r\n t0 0\r\n agroup:BUND…

【Java 并发编程】深入理解 AQS - AbstractQueuedSynchronizer

深入理解 AQS - AbstractQueuedSynchronizer 1. AQS1.1 什么是 AQS1.2 AQS 具备的特性 2. AQS 原理解析2.1 AQS 原理概述2.1.1 什么是 CLH 锁2.1.2 AQS 中的队列 2.2 AQS 共享资源的方式:独占式和共享式2.2.1 Exclusive(独占式)2.2.2 Share&a…

Linux系统下imx6ull QT编程—— C++类和对象(三)

Linux QT编程 文章目录 Linux QT编程一、类和对象 一、类和对象 C 在 C 语言的基础上增加了面向对象编程,C 支持面向对象程序设计。类是 C 的核心特性,通常被称为用户定义的类型。类用于指定对象的形式,它包含了数据表示法和用于处理数据的方…

Java革命性ORM框架Jimmer简单介绍

首发于Enaium的个人博客 本文使用Jimmer的官方用例来介绍Jimmer的使用方法,Jimmer同时支持Java和Kotlin,本文使用Java来介绍,实际上Kotlin比Java使用起来更方便,这里为了方便大家理解,使用Java来介绍,本篇文章只是对Jimmer的一个简单介绍,更多的内容请参考官方文档 这里开始就…