当前位置: 首页 > news >正文

创建一个简单入门SpringBoot3项目

创建空项目

  • File—New—Project
  • Empty Project
    • Name:项目名
    • Location:项目存放位置
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

创建模块

模块名,有意义即可,如:coder-starter(启动模块)

  • 右键项目—New—Module…

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pom.xml文件

  • 添加Spring Boot 父项目依赖
  • 添加web开发的场景启动器依赖
  • 点击加载依赖包图标进行加载
<!-- Spring Boot 父项目依赖 -->
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.5.3</version>
</parent><dependencies><!-- Web 开发场景启动器依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>

在这里插入图片描述

主程序

  • com/zibocoder/starter 目录下创建启动类 MainApplcation
  • 类上添加注解 @SpringBootApplication
  • 启动 main 方法
package com.zibocoder.starter;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** 启动类* @author zibocoder* @date 2025/6/27 10:18:02*/
@SpringBootApplication
public class MainApplication {public static void main(String[] args) {SpringApplication.run(MainApplication.class, args);System.out.println("启动成功");}
}

在这里插入图片描述

默认使用 Tomcat 中间件运行应用程序,默认端口 8080

编写业务

  • com/zibocoder/starter/controller 目录下创建测试类 TestController
package com.zibocoder.starter.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 测试控制器* @author zibocoder* @date 2025/6/27 10:33:14*/
@RestController
@RequestMapping("/test")
public class TestController {@RequestMapping("/hello")public String hello() {return "Hello SpringBoot3";}
}

测试

  • 重启启动类,访问 http://localhost:8080/test/hello
  • 页面显示 Hello SpringBoot3,说明成功

编译打包

  • pom.xml 中添加 maven 编译和打包插件代码
  • 点击加载依赖包图标进行加载
  • 右边点击 Maven 工具按钮,展开操作页面
  • 模块名—Lifecycle
    • clean:删除上次构建生成的文件(通常是 target/ 目录)
    • compile:编译项目的源代码( src/main/java 下的 .java 文件),并将编译后的 .class 文件输出到 target/classes/ 目录。
    • package:在 compile 的基础上,将项目打包成可发布的格式,如 JARWAR 等,具体取决于项目的 pom.xml 配置。
      • 编译源代码(触发 compile
      • 运行单元测试(默认情况下)
      • 打包构建产物(如生成 JAR/WAR 文件)
...<build><plugins><!-- Maven 编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.10.1</version><configuration><!-- 设置编译时的JDK版本 --><source>21</source><target>21</target><!-- 设置编码为UTF-8 --><encoding>UTF-8</encoding></configuration></plugin><!-- Maven 打包插件 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><!-- Maven 打包时跳过测试 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skipTests>true</skipTests></configuration></plugin></plugins></build>
</project>            

在这里插入图片描述

运行jar文件

  • 进入 jar 文件所在目录
  • 命令:java -jar xxx.jar
    在这里插入图片描述

yaml配置文件

  • src/main/resources 目录下创建文件 application.yml
  • 更改默认配置,如端口号改为 1024
server:port: 1024

在这里插入图片描述

更换Web服务器

使用 Undertow 来替代 Tomcat

  • Undertow 是一个采用 Java 开发的灵活的高性能 Web 服务器
  • 高性能非阻塞架构:采用事件驱动方式处理请求,适合高并发场景。
  • 轻量级:比 Tomcat 内存占用更低。
  • 支持现代协议:HTTP/2、WebSockets、Servlet 4.0、HTTPS ALPN 等。
  • 可嵌入性强:易于与 Spring Boot 等框架集成。
  • pom.xmlspring-boot-starter-web 中排除 tomcat
  • 添加 undertow 依赖 spring-boot-starter-undertow
  • 点击加载依赖包图标进行加载
  • 启动服务
...<!-- Web 开发场景启动器依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><!-- 排除 Tomcat --><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency><!-- 添加 Undertow --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-undertow</artifactId></dependency>
...

在这里插入图片描述

http://www.lryc.cn/news/576052.html

相关文章:

  • Spring Boot项目开发实战销售管理系统——系统设计!
  • Formality:原语(primitive)的概念
  • 中科亿海微SoM模组——基于FPGA+RSIC-V的计算机板卡
  • AI助力游戏设计——从灵感到行动-靠岸篇
  • 《人间词话》PPT课件
  • LeRobot框架设计与架构深度剖析:从入门到精通
  • C#语言入门-task4 :C#语言的高级应用
  • 带标签的 Docker 镜像打包为 tar 文件
  • 七天学会SpringCloud分布式微服务——04——Nacos配置中心
  • Java-异常类
  • Windows Server 2019 查询远程登录源 IP 地址(含 RDP 和网络登录)
  • Spring Boot 性能优化与最佳实践
  • django-celery定时任务
  • Prism框架实战:WPF企业级开发全解
  • Greenplum
  • 鸿蒙OH南向开发 小型系统内核(LiteOS-A)【文件系统】上
  • uni-app uts 插件 android 端 科大讯飞离线语音合成最新版
  • 大模型在急性重型肝炎风险预测与治疗方案制定中的应用研究
  • 无线USB转换器TOS-WLink的无线USB助手配置文件详细胡扯
  • System.Threading.Tasks 库简介
  • Vulkan模型查看器设计:相机类与三维变换
  • Java底层原理:深入理解JVM内存模型与线程安全
  • Node.js到底是什么
  • Jmeter并发测试和持续性压测
  • IBW 2025: CertiK首席商务官出席,探讨AI与Web3融合带来的安全挑战
  • 记录一次飞书文档转md嵌入vitepress做静态站点
  • 时序数据库全面解析与对比
  • 基础RAG实现,最佳入门选择(十二)
  • mysql表操作与查询
  • RJ45 以太网与 5G 的原理解析及区别