Spring Boot 实例解析:从概念到代码

ops/2025/2/7 18:26:40/
  1. SpringBoot 简介:
    1. 简化 Spring 应用开发的一个框架
    2. 整合 Spring 技术栈的一个大整合
    3. J2EE 开发的一站式解决方案
    4. 优点:快速创建独立运行的 Spring 项目以及与主流框架集成
    5. 使用嵌入式的 Servlet 容器,应用无需打成 war 包,内嵌 Tomcat
    6. Srarters 自动依赖和版本控制
    7. 大量的自动装配,简化开发,也可以修改默认值
    8. 无需配置 XML  无代码生成,开箱即用
    9. 准生产环境的运行时应用监控
    10. 与云计算的天然集成
  2. 微服务:
    1. 简介:
      1. Spring Cloud 服务的治理方案
      2. Java 开发框架演变过程:Java开发框架演变过程 - 盗梦笔记 - 博客园
      3. 架构风格:服务微化
      4. 指开发单个小型的但有业务功能的服务,每个服务都有自己处理和轻量通讯机制,可以部署在单个或多个服务器上
      5. 微服务也指一种松耦合,有一定的有界上下文的面向服务框架
      6. 一个应用应该是一组小型服务,可以通过 HTTP 的方式进行互通
      7. 单体应用:ALL  IN  ONE
      8. 每一个功能元素最终都是一个可独立替换和独立升级的软件单元
      9. 微服务文档
    2. 微服务优点:
      1. 每一个微服务都很小,这样能聚焦一个指定的业务功能或业务需求
      2. 微服务能够被 2-5 人小团队开发
      3. 微服务是松耦合的,是有功能意义的服务,无论是开发阶段或是部署阶段都是独立的
      4. 微服务能够使用不同的语言开发
      5. 微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,一个团队的新成员能够更快投入生产
      6. 微服务易于被一个开发人员理解、修改和维护
      7. 微服务能偶及时被要求扩展
      8. 微服务能够部署中低端配置的服务
      9. 易于和第三方集成
      10. 每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统一的数据库
    3. 微服务缺点:
      1. 微服务架构可能带来过多的操作
      2. 可能付出双倍的努力
      3. 分布式系统可能复杂难以管理,因为分布式跟踪问题na难
      4. 当服务量增加,管理复杂性增加
  3. MAVEN 设置:
    1. 给 maven 的 setting.xml 配置文件的 profiles 标签添加:
      <profile><id>jdk‐1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties>
      </profile>
    2. IDEA 设置:
    3. 注意:第一个依赖后面的 -web 不要忘记
      <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.5</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.qcby</groupId><artifactId>springboot</artifactId><version>0.0.1-SNAPSHOT</version><!-- JDK 版本--><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies></project>
  4. SpringBoot Hello World(将 maven 项目改变成 SpringBoot 项目):
    1. 创建一个 maven 工程(打包方式为 jar 包)
    2. 导入 SpringBoot 相关的依赖
      <parent><groupId>org.springframework.boot</groupId><artifactId>spring‐boot‐starter‐parent</artifactId><version>1.5.9.RELEASE</version>
      </parent>
      <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring‐boot‐starter‐web</artifactId></dependency>
      </dependencies>
    3. 编写一个主程序:启动 Spring Boot 应用
      java">/**
      *
      @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
      */
      @SpringBootApplication
      public class HelloWorldMainApplication {public static void main(String[] args) {// Spring应用启动起来SpringApplication.run(HelloWorldMainApplication.class,args);}
      }
    4. 简化部署:可以将应用打成一个可执行的 jar 包
      <!--    这个插件,可以将应用打包成一个可执行的jar包-->
      <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
      </build>
    5. 编写相关的 Controller 和 Service:
      @RestController
      public class HelloController {@RequestMapping("/hello")public String sayHello(){return "Hello World";}
      }

http://www.ppmy.cn/ops/156501.html

相关文章

DeepSeek横空出世,AI格局或将改写?

引言 这几天&#xff0c;国产AI大模型DeepSeek R1&#xff0c;一飞冲天&#xff0c;在全球AI圈持续引爆热度&#xff0c;DeepSeek R1 已经是世界上最先进的 AI 模型之一&#xff0c;可与 OpenAI 的新 o1 和 Meta 的 Llama AI 模型相媲美。 DeepSeek-V3模型发布后&#xff0c;在…

Unity VideoPlayer播放视屏不清晰的一种情况

VideoPlayer的Rnder Texture可以设置Size,如果你的视屏是1920*1080那么就设置成1920*1080。 如果设置成其他分辨率比如800*600会导致视屏不清晰。

C# Winform制作一个登录系统

using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace 登录 {p…

【再谈设计模式】命令模式~封装请求的指挥者

一、引言 在软件工程&#xff0c;软件开发过程中&#xff0c;高效的设计模式是构建灵活、可维护和可扩展系统的关键。命令模式作为一种行为型设计模式&#xff0c;为处理各种操作请求提供了一种巧妙的解决方案。它像是一个指挥中心&#xff0c;有条不紊地协调请求的发送者和执行…

物联网 STM32【源代码形式-使用以太网】连接OneNet IOT从云产品开发到底层MQTT实现,APP控制 【保姆级零基础搭建】

物联网&#xff08;IoT&#xff09;‌是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器等装置与技术&#xff0c;实时采集并连接任何需要监控、连接、互动的物体或过程&#xff0c;实现对物品和过程的智能化感知、识别和管理。物联网的核心功能包括数据采集与监…

unity学习28:灯光light相关 类型type,模式mode等

目录 1 场景里的默认灯光 1.1 默认灯光 1.2 可以添加多个灯光 2 灯光类型 2.0 灯光的类型 2.1 定向灯光 directional light&#xff08;想象成太阳&#xff09; 2.1.1 全局和局部 2.2 聚光 spot ---- 类手电筒的光线 2.2.1 控制效果 2.2.2 还可以控制 spot light的…

C# 程序计算圆的面积(Program to find area of a circle)

给定圆的半径&#xff0c;求该圆的面积。 可以使用以下公式简单地计算圆的面积。 其中 r 是圆的半径&#xff0c;它可能是浮点数&#xff0c;因为饼图的值为 3.14 方法&#xff1a;使用给定的半径&#xff0c;使用上述公式找到面积&#xff1a;&#xff08;pi * r * r&#…

无人机飞手光伏吊运、电力巡检、农林植保技术详解

无人机飞手在光伏吊运、电力巡检、农林植保等领域的技术应用&#xff0c;体现了无人机技术的广泛性和实用性。以下是对这三个领域技术的详细解析&#xff1a; 一、无人机飞手光伏吊运技术 1. 技术背景 光伏发电站作为可再生能源的重要组成部分&#xff0c;其建设和维护对效率…