免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 84523 | 回复: 6

【话题讨论+送书福利】你了解Spring Boot如何轻松整合各种组件吗? [复制链接]

论坛徽章:
0
发表于 2021-12-30 09:12 |显示全部楼层
获奖小伙伴名单:

fenyun689   4楼                  @fenyun689
renxiao2003   5楼               @renxiao2003
aloki    6楼                           @aloki
jieforest   7楼                      @jieforest

以上获奖小伙伴,及时站内短信联系我呦,附上个人信息邮寄地址







话题背景:


随着微服务架构越来越火,Spring Boot凭着优质的特性成为了主要技术栈。可以说,Spring Boot非常适合快速构建独立的微服务。Spring Boot对第三方的框架整合得非常好,仅仅只需要添加依赖和简单配置,即可实现框架的整合,这对开发人员来说简直太友好了。如何深入地掌握Spring Boot整合技巧,能够快速完成Spring Boot组件集成工作是每一位开发人员所必备的技能。近期由机械工业出版社出版的《Spring Boot整合开发实战》一书,将全面、深入探讨Spring Boot整合技术,希望对大家有所帮助。本次活动也以此为契机和各位讨论Spring Boot应用的相关话题,欢迎大家积极发言。


本次话题:

(1)为什么选择Spring Boot做微服务开发?
(2)在实际开发过程中,大家都遇到了哪些整合问题?简单描述解决方案。
(3)在敏捷迭代开发中,使用Spring Boot开发都有哪些优势?



本期奖品:

最佳积极参与经验分享奖5名,奖励价值139.8元的《Spring Boot整合开发实战》图书1本。Spring Boot整合开发实战
莫海  编著
书号:978-7-111-69035-1
印张:32.75(共524页)
定价:139.80元
上架建议:计算机/Java

Spring-Boot整合开发实战立体封.png


参与方式:

直接在该主题下回帖即可。
活动时间:

2021年12月30日-2022年1月20日


图书购买:

京东:https://item.jd.com/12950941.html
当当:http://product.dangdang.com/29303430.html

图书试读:内容简介+前言+目录+样章(试读) 内容简介 前言 目录.pdf (295.51 KB, 下载次数: 42)

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2021-12-30 10:10 |显示全部楼层
沙发哦。先坐上。

论坛徽章:
0
发表于 2021-12-30 15:59 |显示全部楼层
好书好书好书。lol

论坛徽章:
43
15-16赛季CBA联赛之上海
日期:2020-11-04 09:36:5515-16赛季CBA联赛之北控
日期:2018-10-29 18:20:3415-16赛季CBA联赛之北京
日期:2018-10-06 21:39:5715-16赛季CBA联赛之天津
日期:2018-08-09 10:30:41ChinaUnix元老
日期:2018-08-03 17:26:00黑曼巴
日期:2018-07-13 09:53:5415-16赛季CBA联赛之吉林
日期:2018-03-30 12:58:4315-16赛季CBA联赛之佛山
日期:2017-12-01 10:26:3815-16赛季CBA联赛之上海
日期:2017-11-14 09:20:5015-16赛季CBA联赛之江苏
日期:2019-02-20 09:53:3319周年集字徽章-庆
日期:2019-08-27 13:23:2515-16赛季CBA联赛之广夏
日期:2019-09-03 18:29:06
发表于 2021-12-30 17:29 |显示全部楼层
本帖最后由 fenyun689 于 2021-12-30 17:36 编辑

(1)为什么选择Spring Boot做微服务开发?
Spring Boot使编码变简单 、 Spring Boot使配置变简单 、Spring Boot使部署变简单 、 Spring Boot使监控变简单。
SpringBoot帮助开发者快速搭建Spring框架;SpringBoot帮助开发者快速启动一个Web容器; SpringBoot继承了原有Spring框架的优秀基因;SpringBoot简化了使用Spring的过程;


(2)在实际开发过程中,大家都遇到了哪些整合问题?简单描述解决方案。
不知道怎么整合,整合的配置方式不对。
解决方案通过网络查询。

(3)使用Spring Boot开发都有哪些优势?
可以分模块开发;启停服务快速,方便;添加组件配置简单快捷。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2021-12-30 21:58 |显示全部楼层
本帖最后由 renxiao2003 于 2022-01-17 11:33 编辑

(1)为什么选择Spring Boot做微服务开发?
1. Spring Boot是什么,解决哪些问题
     1) Spring Boot使编码变简单
     2) Spring Boot使配置变简单
     3) Spring Boot使部署变简单
     4) Spring Boot使监控变简单
     5) Spring Boot的不足
2. Spring Boot在平台中的定位,相关技术如何融合
     1) SpringBoot与SEDA +MicroService + RESTful
     2) SpringBoot与Mock
3. 采用了SpringBoot之后,技术管理应该如何进行
SpringBoot是伴随着Spring4.0诞生的;
从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架;
SpringBoot帮助开发者快速启动一个Web容器;
SpringBoot继承了原有Spring框架的优秀基因;
SpringBoot简化了使用Spring的过程。

(2)在实际开发过程中,大家都遇到了哪些整合问题?简单描述解决方案。
其实针对这种框架的东西,整合过程中最怕的是版本匹配问题。要想解决版本匹配问题,必须查看官方文档中版本适配问题。
我使用Spring Boot仅开发过两个小程序(仅限于学习),所以在这个框架上针对整合还没有遇到问题。
但是在学习前端开发的时候,直到现在我还没有搞定有的版本适配问题。因为框架的依赖太多了,而现在的好多培训视频并不完整,
我就是在培训视频上整前端,部分功能没有通过(自己研究真的好苦啊)

(3)使用Spring Boot开发都有哪些优势?
Spring Boot 使测试变得更简单
Spring Boot 对测试的支持不可谓不强大,Spring Boot 内置了7种强大的测试框架:
JUnit: 一个 Java 语言的单元测试框架
Spring Test & Spring Boot Test:为 Spring Boot 应用提供集成测试和工具支持
AssertJ:支持流式断言的 Java 测试框架
Hamcrest:一个匹配器库
Mockito:一个 java mock 框架
JSONassert:一个针对 JSON 的断言库
JsonPath:JSON XPath 库
我们只需要在项目中引入spring-boot-start-test依赖包,就可以对数据库、Mock、 Web 等各种情况进行测试。
Spring Boot Test 中包含了我们需要使用的各种测试场景,满足我们日常项目的测试需求。
Spring Boot 让配置变得更简单
Spring Boot 让配置变简单,说到这里我们就需要了解一下 Spring Boot 的核心思想:约定优于配置。那么什么是约定优于配置呢?
约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。

论坛徽章:
8
2017金鸡报晓
日期:2017-01-10 15:13:2915-16赛季CBA联赛之天津
日期:2019-06-20 14:25:4015-16赛季CBA联赛之天津
日期:2019-08-20 23:06:5319周年集字徽章-庆
日期:2019-08-27 13:24:4219周年集字徽章-19
日期:2019-09-06 18:55:5019周年集字徽章-年
日期:2019-09-06 18:55:5019周年集字徽章-周
日期:2019-09-20 17:18:2220周年集字徽章-CU
日期:2020-11-11 13:06:03
发表于 2022-01-02 17:20 |显示全部楼层
本帖最后由 aloki 于 2022-01-02 17:22 编辑

(1)为什么选择Spring Boot做微服务开发?
与许多其他仅关注一个领域的框架不同,Spring框架提供了广泛的功能,通过其项目组合项目满足现代业务需求。Spring框架提供了以多种方式配置bean的灵活性,例如XML,Annotations和JavaConfig。随着功能数量的增加,复杂性也会增加,配置Spring应用程序变得繁琐且容易出错。Spring团队创建了Spring Boot来解决配置的复杂性。Spring Boot使编码变简单,使配置变简单,使部署变简单,使监控变简单,弥补了Spring的不足。

(2)在实际开发过程中,大家都遇到了哪些整合问题?简单描述解决方案。
Spring Boot整合elasticsearch报出下面错误:
Error creating bean with name 'esRestClient' defined in class path resource
解决
在pom文件中添加剔除spring-boot-dependencies中所依赖的ES版本

在解决上面的问题后,出现了下面的报错信息
Error creating bean with name 'scopedTarget.dataSource' defined in class path resource
解决
启动类中添加下面注解,当前项目其实并不需要数据源,所以禁止 SpringBoot 自动注入数据源配置。
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

(3)在敏 捷 迭 代 开发中,使用Spring Boot开发都有哪些优势?
(1)从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架;
(2)Spring Boot帮助开发者快速启动一个Web容器;
(3)Spring Boot继承了原有Spring框架的优秀基因;
(4)Spring Boot简化了使用Spring的过程;
(5)Spring Boot为我们带来了脚本语言开发的效率,但是Spring Boot并没有让我们意外的新技术,都是Java EE开发者常见的额技术。


论坛徽章:
32
CU大牛徽章
日期:2013-05-20 10:45:13每日论坛发贴之星
日期:2015-09-07 06:20:00每日论坛发贴之星
日期:2015-09-07 06:20:00数据库技术版块每日发帖之星
日期:2015-12-13 06:20:0015-16赛季CBA联赛之江苏
日期:2016-03-03 11:56:13IT运维版块每日发帖之星
日期:2016-03-06 06:20:00fulanqi
日期:2016-06-17 17:54:25IT运维版块每日发帖之星
日期:2016-07-23 06:20:0015-16赛季CBA联赛之佛山
日期:2016-08-11 18:06:41JAVA
日期:2016-10-25 16:09:072017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:33:21
发表于 2022-01-04 14:39 |显示全部楼层
本帖最后由 jieforest 于 2022-01-04 14:46 编辑

这本书喜欢。

(1)为什么选择Spring Boot做微服务开发?
谈这一点必须先对Spring Framework有一个清晰的认识。Spring Framework简称Spring框架,是Java Web开发领域事实上的标准,它干掉了J2EE那笨重且冗长的EJB实现,让Java Web开发变得更简单、容易,Spring框架逐步成为可以集成众多开源框架的“中央”框架。比如当你的项目需要工作流功能时,可以通过Spring框架集成Activiti或Flowable框架;当你的项目需要任务调度功能时,可以通过Spring框架集成Quartz框架;当你的项目需要日志功能时,可以通过Spring框架集成Logback+SLF4J或者Log4j2等等。可见,Spring框架就是位于中央的粘合框架的框架。由于Spring框架能与众多开源框架相集成,于是就引入了一些比较棘手的问题:
1)如何做到第三方开源框架/组件的正确配置;
2)项目集成了多个开源框架/组件后,这些框架/组件之间是否存在版本兼容性问题;
3)多个开源框架/组件之间依赖了相同的基础JAR包是否存在冲突;
4)Java Web项目选择开源框架/组件是否为最佳实践等。
我们回想一下Spring框架的设计初衷:是为了简化Java Web开发,而由于Spring框架的地位又导致引入了很多复杂度,导致设计初衷破灭。有鉴于此,Spring官方发明了Spring Boot,针对Java Web开发的一系列痛点着手,真正做到了简化Java Web开发。
注意,微服务开发同样是Java Web开发的一部分,只是专注于使用Spring MVC来实现REST API而已。

(2)在实际开发过程中,大家都遇到了哪些整合问题?简单描述解决方案。
这几年,在实际开发过程中,遇到Spring Boot相关的整合问题并不多。我这边团队遇到的问题主要有:
1)已完成的项目,在后续的迭代升级时,有时候会遇到兼容性问题。
特别要注意,Spring Boot的大版本之间是不兼容的,1.X升级到2.X,遇到的兼容性问题会非常多。
Spring Boot的小版本之间也不能保证完全兼容,比如2.1.x和2.2.x版本之间,就时不时会遇到兼容性问题。
所以迭代升级时,如果投入的工作量不多,那么只在同样的小版本下升级比较靠谱,比如从2.2.5版升级到2.2.6版,升级后跑单元测试和集成测试,通常都不会遇到问题。如果公司同意投入大量工时进行迭代升级,那么往次新版本靠拢是必然的选择。
2)Spring Boot发布大小版本的最新起始版本后,实际的项目开发通常不选择它。
比如Spring Boot发布2.2.0.RELEASE版后,我们通常会选择次新版本(比如选择2.1.x版),最新的起始版本往往意味着Bug。
3)前两年,在Spring Boot集成Spring Cloud的一些组件时,有时候会遇到集成问题。
这是因为,前两年Spring Cloud的生态变化较大,有些开源组件做着做着就死掉了(不再更新),比如Zuul网关。
第3个问题我被迫使用图片来回答,因为无法提交
pic236.jpg
但实际上,哪有不良信息嘛?
pic237.jpg



您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP