🚀 Spring Boot 竟然这么简单?你还在用传统方式开发 Java Web 吗?🙄

举报
bug菌 发表于 2025/02/25 16:20:04 2025/02/25
【摘要】 🏆本文收录于「滚雪球学SpringBoot」专栏,手把手带你零基础入门Spring Boot,从入门到就业,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!环境说明:Windows 10 + IntelliJ IDEA 2021.3.2 + Jdk 1.8 前言:你还在用老旧的方式搭建 Web 应用吗?🚧  如果你还在为配置复杂的 XML...

🏆本文收录于「滚雪球学SpringBoot」专栏,手把手带你零基础入门Spring Boot,从入门到就业,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

环境说明:Windows 10 + IntelliJ IDEA 2021.3.2 + Jdk 1.8

前言:你还在用老旧的方式搭建 Web 应用吗?🚧

  如果你还在为配置复杂的 XML 文件和重复性的代码烦恼,那么我得告诉你一个秘密——Spring Boot 来了!它用一种简单、快捷的方式,让你从繁琐的配置中解放出来,快速启动一个现代化的 Java Web 应用。是不是已经迫不及待想了解它是怎么做到的了?

  今天,我们就来一起创建一个简单的 Spring Boot 应用,深入了解 @SpringBootApplication 注解、启动类的实现、如何使用内嵌 Tomcat 启动应用。让你看到 Spring Boot 如何轻松帮你“打破”传统开发的枷锁,搭建一个高效的 Web 应用。

  准备好了吗?那我们一起开始吧!🤩


📚 目录

  1. 🚀 Spring Boot 快速入门:创建一个简单的 Web 应用
  2. 💡 @SpringBootApplication 注解背后的魔法
  3. 🧑‍💻 启动类和 main 方法:Spring Boot 是如何启动的?
  4. 🌐 内嵌 Tomcat:你真的不需要外部服务器!
  5. 🛠 从零到一:实际演练,让我们一起写一个简单的 Web 服务

🚀 Spring Boot 快速入门:创建一个简单的 Web 应用

为什么 Spring Boot 会让你爱上它?💖

  你是不是已经习惯了传统 Java 开发中,如何配置一个 Tomcat 服务器,如何在 web.xml 里写各种配置,甚至还要手动部署到外部服务器上?嗯,这种繁琐的过程真的让人头大吧?但 Spring Boot 完全摒弃了这些麻烦,它用内嵌的方式将所有东西都集成在一起。

创建一个 Spring Boot 应用:

  1. 首先,访问 Spring Initializr,生成一个基础的 Spring Boot 项目:

    • Project:选择 Maven Project(或 Gradle Project,根据个人喜好)。
    • Language:选择 Java
    • Spring Boot:选择最新的稳定版本(例如:2.x.x)。
    • Group:输入你的项目 Group(例如:com.example)。
    • Artifact:输入项目的名称(例如:demo)。
    • Dependencies:选择 Spring Web(如果你要创建一个 Web 服务)。
  2. 点击 Generate,下载并解压项目。

  解压后的目录结构应该类似这样:

demo/
 ├── src/
 ├── pom.xml
 ├── .gitignore
 └── README.md

  接下来,我们将在 src/main/java/com/example/demo/DemoApplication.java 文件里编写应用的核心代码。


💡 @SpringBootApplication 注解背后的魔法

  在 Spring Boot 中,@SpringBootApplication 注解是一个核心注解,它把所有配置都“隐藏”在背后,让我们能够快速启动应用。是不是觉得很神奇?让我们来解开它的神秘面纱。

@SpringBootApplication 注解实际上是三个注解的合成

  1. @SpringBootConfiguration:将当前类标记为 Spring 配置类。
  2. @EnableAutoConfiguration:启用自动配置,Spring Boot 会自动根据你的类路径设置来配置应用所需的各种组件,例如数据库连接、Web 配置等。
  3. @ComponentScan:启用 Spring 的组件扫描,自动扫描标记了 @Component@Service@Controller 等注解的类。

  你可以把它理解为一个万能注解,它告诉 Spring Boot:"配置好了!你可以自动化处理所有后台工作了!"

代码示例:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication // 启用 Spring Boot 自动配置和组件扫描
public class DemoApplication {

    public static void main(String[] args) {
        // 启动 Spring Boot 应用
        SpringApplication.run(DemoApplication.class, args);
    }
}

  是不是非常简单?你只需在类上加一个注解,Spring Boot 就会为你配置好整个应用的启动环境。


🧑‍💻 启动类和 main 方法:Spring Boot 是如何启动的?

  在 Spring Boot 中,我们通常有一个包含 main 方法的启动类,这个类负责初始化 Spring 上下文并启动应用。你可能会问:“怎么就这么简单了?Spring Boot 真的这么神奇?”

  答案是:是的,它真的这么简单!

代码解读:

public class DemoApplication {

    public static void main(String[] args) {
        // SpringApplication.run() 会启动整个 Spring Boot 应用
        SpringApplication.run(DemoApplication.class, args);
    }
}
  • SpringApplication.run(DemoApplication.class, args); 是启动整个应用的关键方法,它会扫描当前类,并根据 @SpringBootApplication 注解自动配置应用的所有组件。
  • args 是你运行应用时传入的命令行参数,可以用来定制化应用的行为。

  简单来说,main 方法的作用是让 Spring Boot 知道从哪里开始启动应用。

🌐 内嵌 Tomcat:你真的不需要外部服务器!

  在传统的 Java Web 开发中,部署应用需要安装和配置一个外部的服务器(比如 Tomcat)。不过,Spring Boot 用内嵌的方式解决了这个问题!内嵌的 Tomcat 会自动与应用一起启动,让你直接在本地运行和测试 Web 应用。

什么是内嵌 Tomcat?

  在 Spring Boot 中,你不再需要手动配置 Tomcat 服务器。它内置了一个嵌入式的 Tomcat 容器,运行时会自动启动。只要你在浏览器中访问 http://localhost:8080,就能看到你的应用启动界面。

启动应用命令:

  1. 打开终端,进入项目根目录。
  2. 执行以下命令启动应用:
./mvnw spring-boot:run  # Linux / macOS
mvnw spring-boot:run    # Windows

一旦启动成功,你会看到类似以下的输出信息:

2025-02-25 17:23:40.352  INFO 12345 --- [  main] com.example.demo.DemoApplication : Started DemoApplication in 3.456 seconds (JVM running for 4.123)

默认端口是 8080

  Spring Boot 默认使用 8080 端口。如果你访问 http://localhost:8080,就可以看到 Spring Boot 应用的欢迎页面。如果你有一个简单的 REST API,直接访问它也会显示相应的结果。

🛠 从零到一:实际演练,让我们一起写一个简单的 Web 服务

  为了帮助你更好地理解,接下来我们来创建一个简单的 RESTful Web 服务,提供一个基本的 GET 请求接口。这样你就能更清楚地感受到 Spring Boot 的威力!

代码示例:

  在 DemoApplication.java 中创建一个简单的 @RestController

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 "Hello, Spring Boot!";
    }
}

  这样,我们就创建了一个返回 “Hello, Spring Boot!” 的简单接口。当你启动应用并访问 http://localhost:8080/hello 时,就会看到这个响应。

🎉 总结:Spring Boot 让你轻松开发 Web 应用

  今天,我们一起创建了一个简单的 Spring Boot 应用,了解了核心的 @SpringBootApplication 注解,启动类的实现,以及如何通过内嵌 Tomcat 启动 Web 服务。你可能还在想:“这就这么简单?!”

  没错,Spring Boot 真的是这么简单!它帮助我们从繁琐的配置中解脱出来,直接开始编写业务逻辑,让我们能够专注于应用的核心功能,而不是配置和部署。

  是不是已经迫不及待想用 Spring Boot 搭建更多有趣的应用了?快去尝试吧!🎉🚀

🧧福利赠与你🧧

  无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学SpringBoot」,bug菌郑重承诺,凡是学习此专栏的同学,均能获取到所需的知识和技能,全网最快速入门SpringBoot,就像滚雪球一样,越滚越大, 无边无际,指数级提升。

  最后,如果这篇文章对你有所帮助,帮忙给作者来个一键三连,关注、点赞、收藏,您的支持就是我坚持写作最大的动力。

  同时欢迎大家关注公众号:「猿圈奇妙屋」 ,以便学习更多同类型的技术文章,免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板、技术文章Markdown文档等海量资料。

✨️ Who am I?

我是bug菌,CSDN | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等社区博客专家,C站博客之星Top30,华为云多年度十佳博主/价值贡献奖,掘金多年度人气作者Top40,掘金等各大社区平台签约作者,51CTO年度博主Top12,掘金/InfoQ/51CTO等社区优质创作者;全网粉丝合计 30w+;更多精彩福利点击这里;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试真题、4000G PDF电子书籍、简历模板等海量资料,你想要的我都有,关键是你不来拿。

-End-

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。