前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SpringBoot2-[SpringBoot优缺点、微服务理解、版本仲裁]

SpringBoot2-[SpringBoot优缺点、微服务理解、版本仲裁]

作者头像
全栈程序员站长
发布于 2022-11-09 07:14:55
发布于 2022-11-09 07:14:55
80900
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟 🌈擅长领域:Java、大数据、维、电 🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!! 🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!


Spring.io

Spring5重大升级

  • 响应式架构和传统spring的SpringMvc项目架构的两套技术栈
  • Reactive Stack :使用构建异步数据流响应开发数据访问、响应web开发、响应开发Security安全应用
  • 基于Java8的一些新特性,如:接口默认实现。重新设计源码架构。

SpringBoot优点

  • Create stand-alone Spring applications
  • 创建独立Spring应用
  • Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
  • 内嵌web服务器
  • Provide opinionated ‘starter’ dependencies to simplify your build configuration
  • 自动starter依赖,简化构建配置
  • Automatically configure Spring and 3rd party libraries whenever possible
  • 自动配置Spring以及第三方功能
  • Provide production-ready features such as metrics, health checks, and externalized configuration
  • 提供生产级别的监控、健康检查及外部化配置
  • Absolutely no code generation and no requirement for XML configuration
  • 无代码生成、无需编写XML

SpringBoot是整合Spring技术栈的一站式框架

SpringBoot是简化Spring技术栈的快速开发脚手架

SpringBoot缺点

  • 社区过于活跃,版本迭代太快,需要时刻关注新特性
  • 底层的Spring被封装过深不好挖掘。

微服务

  • 微服务是一种架构风格
  • 一个应用拆分为一组小型服务
  • 每个服务运行在自己的进程内,也就是可独立部署和升级
  • 服务之间使用轻量级HTTP交互
  • 服务围绕业务功能拆分
  • 可以由全自动部署机制独立部署
  • 去中心化,服务自治。服务可以使用不同的语言、不同的存储技术
  • 分布式:
  • 分布式解决方案:SpringBoot+SpringCloud

SpringBoot官方文档

Maven设置

代码语言:javascript
代码运行次数:0
运行
复制
<!--配置国内镜像源-->
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
<!--配置编译环境-->
<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>
</profiles>

SpringBoot版本依赖管理、仲裁

因为所有的SpringBoot项目的maven的pom.xml都继承自spring-boot-starter-parent

代码语言:javascript
代码运行次数:0
运行
复制
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

spring-boot-starter-parent继承了org.springframework.boot,该父类即保存了常见的依赖版本实现版本仲裁

代码语言:javascript
代码运行次数:0
运行
复制
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.7.RELEASE</version>
</parent>

部分显示

代码语言:javascript
代码运行次数:0
运行
复制
<activemq.version>5.15.14</activemq.version>
<antlr2.version>2.7.7</antlr2.version>
<appengine-sdk.version>1.9.83</appengine-sdk.version>
<artemis.version>2.12.0</artemis.version>
<aspectj.version>1.9.6</aspectj.version>
<assertj.version>3.16.1</assertj.version>
<atomikos.version>4.0.6</atomikos.version>
<awaitility.version>4.0.3</awaitility.version>
<bitronix.version>2.1.4</bitronix.version>
<build-helper-maven-plugin.version>3.1.0</build-helper-maven-plugin.version>
<byte-buddy.version>1.10.18</byte-buddy.version>
<caffeine.version>2.8.8</caffeine.version>
<cassandra-driver.version>4.6.1</cassandra-driver.version>
<classmate.version>1.5.1</classmate.version>
.......

如此就无需加版本号

代码语言:javascript
代码运行次数:0
运行
复制
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>

若版本库里的版本号无法满足要求可以如下更改,若库里没有依赖的版本就需要按往常一样添加版本号

代码语言:javascript
代码运行次数:0
运行
复制
<properties>
<java.version>1.8</java.version>
<mysql.version>8.0.22</mysql.version>
</properties>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月26日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
2025年软件测试行业趋势分析
首先,软件测试现在已经是开发过程中不可或缺的一部分,但随着技术的进步,肯定会有所变化。比如,自动化测试已经越来越普及,但可能到2025年会更深入,特别是AI和机器学习的应用。
漫谈测试
2025/02/16
3870
2025年软件测试行业趋势分析
人工智能在软件测试中的应用
随着人工智能技术的发展,AI在软件测试领域得到了广泛的应用与实践。人工智能可以帮助测试工程师自动执行重复性高的测试用例,分析大量测试结果进行预测,并自动生成测试报告与缺陷列表。这大大提高了测试效率,缩短了测试周期。
苦叶子
2023/06/09
3.1K0
人工智能在软件测试中的应用
软件测试-开始软件测试
1.测试的目的:在于发现错误(缺陷),保证整个软件开的质量,但软件的质量不能以软件测试为依据 2.成功的测试:是发现了未曾发现的软件错误(缺陷) 3.好的测试用例:是能有效地发现别的测试用例未发现的软件错误
达达前端
2019/07/03
2.5K0
美团李永刚:测试智能化的机会在哪里?
随着人工智能的不断发展,各行各业与人工智能的融合也越来越多,智能化测试就是其中之一,本期我们采访了 ArchSummit 全球架构师峰会(上海站)专题出品人李永刚老师,他从软件测试的发展历程入手,为我们分享了智能化测试案例、自动化测试与智能化测试异同以及企业如何做到智能化测试等等,本文为采访整理文,期待对你有所启发~
深度学习与Python
2022/06/11
8740
美团李永刚:测试智能化的机会在哪里?
软件测试是质量需求的交付实践
在混沌初开之际,软件开发和软件测试还是一个角色独立完成的一个事情,后来伴随着软件工程的发展,开发和测试逐渐的分开,那么随着工程化的逐渐深入,研发运营一体化的高速发展,软件测试是否还需要单独存在这样的讨论时不时的就会出现在各大团队内部的会议上。软件测试是不是存在其实蕴含着两方面,一方面是测试工作的独立存在,一部分是测试工程师的存在。相信说到这里很多人第一反应就是测试工程师必须存在,为什么呢?因为出问题了要有人背锅。其实并不尽然,我们先从测试工作存在的必要性开始聊起,测试工程师存在的必然性也就顺理成章了。
Criss@陈磊
2024/01/15
1990
软件测试是质量需求的交付实践
软件测试|人工智能如何帮助测试工程师解决问题?
ChatGPT正式开放使用,绝对是今年最大的新闻,ChatGPT是人工智能技术驱动的自然语言处理工具,它能够基于在预训练阶段所见的模式和统计规律,来生成回答,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文 等任务。
霍格沃兹测试开发Muller老师
2023/08/22
3310
面试题_软件测试常见Python编程思维题_1.2
当今软件行业的发展日新月异,软件测试工程师的角色变得愈发重要。作为软件测试工程师,精通Python编程语言是必不可少的技能之一,因为Python在软件测试领域中具有广泛的应用和支持。本文将以Python测试为中心,介绍软件测试工程师必须掌握的知识和技能。
测试小兵
2024/04/11
1780
面试题_软件测试常见Python编程思维题_1.2
2025 年软件测试趋势:你准备好了吗?
随着软件开发模式的不断变化,软件测试行业也在经历着一场深刻的变革。曾几何时,手工测试一度占据主导地位,但如今,自动化测试已经成为标准,而 AI 驱动的智能测试正迅速崛起。测试工程师的角色与技能要求也在不断提升,从单纯的找 Bug 到如今的质量保障全链条参与。到了 2025 年,软件质量的保障不仅仅依赖传统的测试人员,更需要与开发、运维、安全团队的深度协作,形成 DevOps、DevSecOps 以及智能化测试的新生态。
FunTester
2025/02/26
4801
2025 年软件测试趋势:你准备好了吗?
【无矶之谈】聊聊ChatGPT对测试的影响
人工智能这个术语首次被提出是在1956年,距今已经67年了,从最开始的科学运算到现在的算力比拼,这几年人工智能的爆发还是基于理论和社会发展趋势所带来的蓬勃实践期,并没有在理论技术上有更大的突破,只能说实际运用难度大,未来可期。
梦无矶小仔
2023/08/03
3660
【无矶之谈】聊聊ChatGPT对测试的影响
《Google软件测试之道》告诉你什么是测试
第一章:Google软件测试介绍 1.Google的测试团队并非雄兵百万,我们更像是小而精的特种部队,我们依靠的是出色的战术和高级武器 2.在Google,写代码的开发人员也承担了测试的重任.质量从来就不仅仅是一些测试人员的问题,每个写代码的开发者本身也是测试者,质量在名义上也是由这样的开发测试组合共同承担 3.Google团队由SWE(软件开发工程师), SET(测试开发工程师),TE(测试工程师)组成 4.在Google,对于一个测试人员,如果在某个产品中工作满18个月之后,就可以无理由地自愿转岗到其他
互联网金融打杂
2018/04/03
2.9K0
《Google软件测试之道》告诉你什么是测试
转行软件测试,你缺的并不只是技术,2022软件测试学习路线
春暖花开,近水楼台先得月,向阳花木易为春。最近很多粉丝私信问我怎么转行软件测试,我今天跟大家聊聊这个话题,可能我说的有点沉重,但还是建议你看下去。
Tricy软件测试工程师
2022/03/19
8840
转行软件测试,你缺的并不只是技术,2022软件测试学习路线
取代或转型?人工智能对软件测试的影响(内附工具推荐)
在当今快速发展的数字环境中,从移动App到基于Web的平台,软件已成为我们日常生活和工作不可或缺的一部分。然而,随着软件系统变得越来越复杂,如何确保其质量和可靠性已成为开发人员和测试人员所面临的一大重要挑战。
陈哥聊测试
2024/05/27
2410
取代或转型?人工智能对软件测试的影响(内附工具推荐)
软件测试工程师承受的压力(二)
其他两点:4.收入的压力 5.家庭的压力,因为所有职场人都会有遇到,暂时不说了。
muntainyang
2020/10/23
8440
软件测试工程师承受的压力(二)
如何系统自学软件测试,看这篇软件测试学习方法万字总结就够了
主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。
伤心的辣条
2022/12/14
1K0
如何系统自学软件测试,看这篇软件测试学习方法万字总结就够了
二十五个软件测试经典面试题,你确定不收藏一波?
1、在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试?
新梦想IT职业教育
2019/09/12
1.1K0
软件测试基础与常识
软件测试,是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。
阳光岛主
2019/02/19
8910
软件测试如何自我提升
当一个软件测试工程师刚刚进入行业一到三年的时间,他们通常需要掌握一些基本技能和知识,并且需要学习一些新的技术和工具,以便更好地完成自己的测试工作。以下是一些建议,帮助测试工程师在这个阶段提升自己的技能。
FunTester
2023/08/04
4400
软件测试如何自我提升
程序员面试之软件测试面试问答
1、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 首先,将问题提交到缺陷管理库里面进行备案。 然后,要获取判断的依据和标准: 根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据; 如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷; 根据用户的一般使用习惯,来确认是否是缺陷; 与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷; 合理的论述,向测试
互联网金融打杂
2018/04/03
1.6K0
软件测试作为职业道路(技能,薪水,成长)
评估自身技能对于成为一名优秀的软件测试工程师至关重要。将您的技能与以下清单进行比较,以确定软件测试是否对您来说是现实的。
归根落叶
2020/05/15
9780
软件测试作为职业道路(技能,薪水,成长)
聊一聊AI工具对软件测试从业者的影响
前段时间有网友私信我聊聊AI测试,作为从业多年的“老司机”,对AI测试还是比较少。AI从简称说大家基本上认为是人工智能,AI测试可以理解为人工智能测试。人工智能领域的流行最近几年相对比较火,这两年又出现比较火的AI工具,我想网友更比较关心的是如何使用AI工具,在测试工作中如何提升效率,借助AI工具如何才能预测潜在的缺陷,分析测试覆盖率,帮助优化代码。
漫谈测试
2025/04/10
1280
聊一聊AI工具对软件测试从业者的影响
推荐阅读
相关推荐
2025年软件测试行业趋势分析
更多 >
目录
  • Spring.io
  • Spring5重大升级
  • SpringBoot优点
  • SpringBoot缺点
  • 微服务
  • SpringBoot官方文档
  • Maven设置
  • SpringBoot版本依赖管理、仲裁
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档