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

实用指南:SpringBoot简介和入门

目录

SpringBoot简介(脚手架)

微服务

微服务优点

微服务缺点

入门程序

创建项目

pom.xml文件

parent标签

dependency标签

build构建插件

Application主类

Controller类

启动主类


SpringBoot简介(脚手架)

简化Spring应用开发的一个框架;

整个Spring技术栈的一个大整合;

J2EE开发的一站式解决方案;

优点:快速创建独立运行的spring项目以及与主流框架集成

使用嵌入式的Servlet容器,应用无需打成war包,内嵌Tomcat

Starters自动依赖和版本控制

大量的自动装配,简化开发,也可以修改默认值

无需配置XML无代码生成开箱即用

准生产环境的运行时应用监控

与云计算的天然集成

微服务

微服务是指开发单个小型的但有业务功能的服务,每个服务都有自己处理和轻量通讯机制,可以部署在单个或多个服务器上。微服务也指一种种松耦合的有一定的有界上下文的面向服务架构。

一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;

单体应用:ALL IN ONE

微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;

微服务文档:
https://martinfowler.com/articles/microservices.html#MicroservicesAndSoahttps://martinfowler.com/articles/microservices.html#MicroservicesAndSoa

微服务优点

每一个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。

微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。

微服务是松耦合的,是有功能意义的服务,无论是开发阶段或是部署阶段都是独立的。

微服务能够使用不同的语言开发。

微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,一个团队的新成员能够更快投入生产。

微服务易于被一个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果,

微服务能够即时被要求扩展。

微服务能够部署中低端配置的服务。

易于和第三方集成。

每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统一的数据库。

微服务缺点

微服务架构可能带来过多的操作

可能双倍的努力

分布式系统可能复杂难以管理

因为分布部署跟踪问题难

当服务量增加,管理复杂性增加

入门程序

创建项目

pom.xml文件

    org.springframework.bootspring-boot-starter-parent1.5.9.RELEASEorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-maven-plugin

parent标签

  • 依赖管理:统一管理所有 Spring Boot 相关依赖的版本,避免版本冲突

  • 默认配置:提供预定义的 Maven 插件配置和资源过滤

  • Java 版本:继承默认的 Java 版本配置(这里是 Java 8)

  • 打包配置:预配置了打包成可执行 JAR 的设置

好处:不需要为每个 Spring Boot 依赖单独指定版本号。

dependency标签

  • spring-boot-starter-web 是一个"启动器",它包含了开发 Web 应用所需的所有依赖:

  • Spring MVC - Web MVC 框架

  • Tomcat - 内嵌的 Web 服务器

  • Jackson - JSON 处理库

  • Spring Boot 自动配置 - 自动配置各种 Bean

  • 日志框架 - Logback 和 SLF4J

好处:只需引入一个依赖,就自动获得了完整的 Web 开发环境

build构建插件

  • 打包可执行 JAR:将应用打包成包含所有依赖的"fat JAR"

  • 内嵌服务器:打包后的 JAR 包含 Tomcat 服务器,可以直接运行

  • 应用启动:提供 mvn spring-boot:run 命令来直接运行应用

  • 依赖解析:正确处理 Spring Boot 应用的类路径

Application主类

这个类必须放到包中,在Spring Boot中,如果将主类放在默认包(即没有定义包的情况下),会导致一些问题。主要原因是@SpringBootApplication注解会自动扫描当前包及其子包下的所有组件,并将这些组件加载到Spring容器中。而在默认包下,相当于没有定义包,更没有子包的概念,因此会报错。

在java文件夹下创建包com.qcby,随后创建HelloWorldApplication

package com.qcby;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloWorldApplication {public static void main(String[] args){//启动springbootApplicationSpringApplication.run(HelloWorldApplication.class,args);}
}

Controller类

在qcby下再创建一个一个Controller包,创建HelloController

package com.qcby.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {@ResponseBody@RequestMapping("/hello")public String hello(){return "Hello World!";}
}

启动主类

看到红框框内的字样就算成功了

随后我们访问localhost:8080/hello,SpringBoot内嵌的tomcat默认端口是8080:

http://www.jsqmd.com/news/346784/

相关文章:

  • windows电脑部署OpenClaw
  • 深入解析:Dubbo服务调用失败调试指南:从问题定位到快速修复
  • APT 配置 Proxy
  • Java面向对象——instanceof和类型转换
  • P1540 [NOIP 2010 提高组] 机器翻译
  • 全球药品追溯码扫码一体机市场报告2026-2032
  • 三维感知驱动安全智能:镜像视界空间视频技术的场景实践
  • 【GitHub项目推荐--Nanobot:超轻量级个人AI助手】
  • 从服务机器人到人形机器人——线圈技术的通用性与特殊性
  • Java高频面试题:SpringBoot如何自定义Starter?
  • 2026年四川防弹岗亭优选指南:核心要素、TOP5厂家深度解析与场景适配策略 - 深度智识库
  • 四川分类垃圾房Top5厂商全景解析:从政企定制到基层适配合规选择指南 - 深度智识库
  • 核心技术突破:高功率密度线圈赋能智能装备高效运行
  • 2026年 东莞空翻特技培训机构推荐榜:专业/业余/周末/少儿/寒暑假特训课程,综合技能提升与安全保障口碑之选 - 品牌企业推荐师(官方)
  • 2026年 纸袋厂家推荐排行榜:礼品纸袋/环保纸袋/红酒纸袋/高端纸袋,匠心工艺与绿色美学品牌精选 - 品牌企业推荐师(官方)
  • AI 正在“吞噬”软件,数据平台该怎么重写?
  • AI居然能雇佣人类打工!时薪5000刀,RentAHuman.ai在硅谷活了!
  • druid相关使用
  • Codex怎么用?国内如何使用?最全CLI使用教程与高效技巧
  • 四川防弹岗亭采购全指南:2026年Top5厂家深度解析与选择标准 - 深度智识库
  • C2C分销移动App开发实战:四步搭建个人分销生态
  • 揭秘CLAUDE.md:AI开发者的隐藏神器
  • 不同类型的丝杆升降机使用工作原理有何不同
  • 2026年珠片面料厂家推荐排行榜:珠片面料、再生珠片、珠片布、珠片布料,闪耀质感与环保创新之选 - 品牌企业推荐师(官方)
  • 软件测试从业者的内容偏好与趋势
  • 手摇专用蜗轮梯形丝杆升降机的工作原理是怎样的?
  • 2026国内最新清爽控油蓬松洗发水产品TOP5推荐:专业洗护品牌权威榜单发布,精准适配多元头皮发质需求 - 品牌推荐2026
  • 学习进度 20
  • 提示工程科学评估的10个最佳实践,架构师总结
  • 锥齿轮丝杆升降机的效率受哪些因素影响