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

server/2025/2/2 17:10:02/
  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/server/164387.html

相关文章

数据结构课程设计(三)构建决策树

3 决策树 3.1 需求规格说明 【问题描述】 ID3算法是一种贪心算法&#xff0c;用来构造决策树。ID3算法起源于概念学习系统&#xff08;CLS&#xff09;&#xff0c;以信息熵的下降速度为选取测试属性的标准&#xff0c;即在每个节点选取还尚未被用来划分的具有最高信息增益的…

【Linux】日志设计模式与实现

&#x1f525; 个人主页&#xff1a;大耳朵土土垚 &#x1f525; 所属专栏&#xff1a;Linux系统编程 这里将会不定期更新有关Linux的内容&#xff0c;欢迎大家点赞&#xff0c;收藏&#xff0c;评论&#x1f973;&#x1f973;&#x1f389;&#x1f389;&#x1f389; 文章目…

嵌入式经典面试题之操作系统(一)

文章目录 1 请你说说常用的Linux命令有哪些&#xff1f;2 在linux中如何创建一个新的目录&#xff1f;3 Linux中查看进程运行状态的指令、tar解压文件的参数。4 在linux中&#xff0c;文件权限如何修改&#xff1f;5 怎样以root权限运行某个程序&#xff1f;6 在linux里如何查看…

Jenkins未在第一次登录后设置用户名,第二次登录不进去怎么办?

Jenkins在第一次进行登录的时候&#xff0c;只需要输入Jenkins\secrets\initialAdminPassword中的密码&#xff0c;登录成功后&#xff0c;本次我们没有修改密码&#xff0c;就会导致后面第二次登录&#xff0c;Jenkins需要进行用户名和密码的验证&#xff0c;但是我们根本就没…

【Uniapp-Vue3】获取用户状态栏高度和胶囊按钮高度

在项目目录下创建一个utils文件&#xff0c;并在里面创建一个system.js文件。 在system.js中配置如下代码&#xff1a; const SYSTEM_INFO uni.getSystemInfoAsync();// 返回状态栏高度 export const getStatusBarHeight ()> SYSTEM_INFO.statusBarHeight || 15;// 返回胶…

新一代搜索引擎,是 ES 的15倍?

Manticore Search介绍 Manticore Search 是一个使用 C 开发的高性能搜索引擎&#xff0c;创建于 2017 年&#xff0c;其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx&#xff0c;显着改进了它的功能&#xff0c;修复了数百个错误&#xff0c;几乎完全重写了代码…

游戏引擎 Unity - Unity 下载与安装

Unity Unity 首次发布于 2005 年&#xff0c;属于 Unity Technologies Unity 使用的开发技术有&#xff1a;C# Unity 的适用平台&#xff1a;PC、主机、移动设备、VR / AR、Web 等 Unity 的适用领域&#xff1a;开发中等画质中小型项目 Unity 适合初学者或需要快速上手的开…

SSM开发(八) MyBatis解决方法重载

目录 一、Mybatis能否支持方法重载? 二、解决 MyBatis 方法重载问题的几种方法 解决方法一: (注解方式) 将重载方法命名为不同的方法名 解决方法二:采用@SelectProvider注解 解决方法三:使用 MyBatis 的 标签和动态 SQL 来构建不同参数的 SQL 查询 三、总结 一、Myb…