文档章节

Spring Boot 1 和 Spring Boo 2的差别

闲大赋
 闲大赋
发布于 2017/11/29 10:17
字数 908
阅读 3360
收藏 0

有差别,但差别不大。基本上基于SpringBoot的代码不需要改动,但有些配置属性和配置类,可能要改动,改动原因是

配置已经不存在或者改名 类已经不存在改名

听着挺吓人,但我实际切换过程中改动的地方很少。一般正常的MVC,数据库访问这些都不需要改动,下面按照我写的《Spring Boot 2精髓:从构建小系统到架构分布式大系统》本书章节说明我曾碰到的区别

  • 第1章,SpringBoot 2基于Spring5和JDK8,而Spring 1x则用的是JDK7,因此你的应用服务必须支持JDK8
  • 第2章,无区别,使用SpringBoo2,建议使用较新的Maven版本,以及较新的JDK,尤其是IDE工具,以免Maven在IDE里的视图报出警告信息
  • 第3章:MVC部分,有些定制类改动了,比如WebMvcConfiguer,由抽象类改为接口,这是因为JDK8对接口有新的支持形式,3.8章提到的统一错误处理,基类AbstarctErrorController也改动非常大,请参考书中描述的知识点。MVC里的视图渲染Freemaker视图解析器也有改动,默认情况下,它会自动加上ftl来来寻找模板
  • 第4章:关于Beetl,无改动,请使用新版本即可
  • 第5章,无改动,JDBCTemplate和BeetlSQL均可以使用
  • 第6章,JPA中,findById 返回了一个Optional对象,改动较大,会直接影响所有业务代码,Page代码接口也有调整。
  • 第7章,SpringBoot配置,web应用的ContextPath 配置属性已经改动,可以参考本文章的7.1.1 说明。另外配置文件的中文可以直接读取,而不需要转码。另外,自动装配里Boot提供的JavaVersion类报名改动了。根据jdk版本自动装配的需要调整代码。在配置文件中出现中文,到了Spring Boot 2 ,不需要转码
  • 第8章,部署SpringBoot无改动
  • 第9章,测试SpringBoot无改动
  • 第10章,无改动,但Swagger UI变化较大。除了参考本书外,还需要密切注意Sawgger的最新特性
  • 第11章, MongDB,无变化
  • 第12章,Redis 无变化
  • 第13章,ElasticSearch,无改动,应该说SpringBoot2做的更好了。需要密切注意Elastic Search本身版本变化,它也是版本帝,Spring Boot略有点根本上。因此不能担保在因为Elastci Search的RESTAPI变化导致Spring Boot不兼容,所以一定要使用Spring Boot指定的版本
  • 这里是列表文本第14章,基本无改动,但内部CacheManager和Cache的接口改动,因此缓存机制内部变化较大,书里提到的一二级分布式缓存实现方式变化就比较大
  • 第15章,SpringSession 无变化
  • 第16章,由于本书将的是用Curator集成Spring Boot,所以无变化
  • 第17章,Acutator,本章SpringBoot1.x和2变化较大,默认情况,不再启用所有监控,另外编写自己监控信息,完全需要重写,HealthIndicator,EndPoint 变化很大

当然最根本差别还是Spring5 和 JDK8了,我公司就为是否因为使用JDK8而争论了多次.....

© 著作权归作者所有

共有 人打赏支持
上一篇: 暖心的回复
闲大赋

闲大赋

粉丝 1178
博文 95
码字总数 88056
作品 10
西城
架构师
私信 提问
加载中

评论(34)

银杏林守望者
就事论事,文章是Spring Boot 1 和 Spring Boot 2的差别,文章本身挺好。。。。
下面跟帖那么多人吵什么。。。。。
beetl模板我不用,因为我确实不喜欢模板技术;beetlsql在用,觉得挺好的,下面说了半天也没说出beetlsql有啥问题,都是开源软件,觉得不好自己写一个就是了。。也算百花齐放
阿影
阿影
JDK8还用讨论啊?新上的系统全部换,旧系统慢慢迁移喽。
blu10ph
blu10ph
好~
闲大赋
闲大赋

引用来自“时间红”的评论

客观点讲, 这本书讲beetl我没意见,确实用的人不少~~~
当时重点篇章讲beetlsql,刻意无视mybatis ,提都不提,有点过不去了~~~~~~~
你这是夹杂了私心啊,技术人员要客观

另外 ,这本书值得购买,我看了一下,还是有不少收获的,63块 花的值了

引用来自“南湖船老大”的评论

mybatis 这么恶心的东西提它干嘛。。。

mybatis的报错实在太无语了,根本就是瞎报错。。。你根据报错的提示根本找不到真正的错误原因
👏 过来人才会有自己的判断,谢谢为beetlsql说了几句话
南湖船老大
南湖船老大

引用来自“时间红”的评论

客观点讲, 这本书讲beetl我没意见,确实用的人不少~~~
当时重点篇章讲beetlsql,刻意无视mybatis ,提都不提,有点过不去了~~~~~~~
你这是夹杂了私心啊,技术人员要客观

另外 ,这本书值得购买,我看了一下,还是有不少收获的,63块 花的值了
mybatis 这么恶心的东西提它干嘛。。。

mybatis的报错实在太无语了,根本就是瞎报错。。。你根据报错的提示根本找不到真正的错误原因
闲大赋
闲大赋

引用来自“叮当王子”的评论

这个作者真是见不得人说,人就说一句bettl不好,都不算是批评,你说白了就是个生意人,和气生财,就这么毫无痛点的一句话,你干嘛要骂人啊,真是眼睛大肚子小!

引用来自“闲大赋”的评论

又一个小号。。为了诋毁我,oschina很多僵尸帐号,我都无语了。
我不是生意人,我上班外还搞开源,并多年来一直支持开源,还探索SpringBoot,并贡献出来我的认知。你贡献了什么,就上嘴皮和下嘴皮吗?注册一个马甲,然后再骂一下开源作者,你是现实生活中的弱智和傻逼

引用来自“叮当王子”的评论

你看看人家就说了这么一句“Spring Boot 2还没有正式发布,书就出来了,Spring Boot 中从来没有推荐过 beetl,提他做什么?”你就开始喷,真没见过你这么小肚鸡肠的人,我第一次在技术贴下面看到骂战骂得这么凶的,本帖一共27楼,大部分都是你在喷你还好意思说别人。我纯粹就是偶然看到实在是看不下去了,世界上怎么可以有这么心胸狭窄的技术人,是不是测试人员只要推个 bug给你你就得气的几天不吃饭啊。心胸狭窄,心胸狭窄,心胸狭窄。。。
傻逼一个,对你这种一来就注册从来没发言,一发言就骂人,我自然认为就是傻逼马甲,骂你怎么了?傻逼马甲,傻逼马甲,傻逼马甲
叮当王子
叮当王子

引用来自“叮当王子”的评论

这个作者真是见不得人说,人就说一句bettl不好,都不算是批评,你说白了就是个生意人,和气生财,就这么毫无痛点的一句话,你干嘛要骂人啊,真是眼睛大肚子小!

引用来自“闲大赋”的评论

又一个小号。。为了诋毁我,oschina很多僵尸帐号,我都无语了。
我不是生意人,我上班外还搞开源,并多年来一直支持开源,还探索SpringBoot,并贡献出来我的认知。你贡献了什么,就上嘴皮和下嘴皮吗?注册一个马甲,然后再骂一下开源作者,你是现实生活中的弱智和傻逼
你看看人家就说了这么一句“Spring Boot 2还没有正式发布,书就出来了,Spring Boot 中从来没有推荐过 beetl,提他做什么?”你就开始喷,真没见过你这么小肚鸡肠的人,我第一次在技术贴下面看到骂战骂得这么凶的,本帖一共27楼,大部分都是你在喷你还好意思说别人。我纯粹就是偶然看到实在是看不下去了,世界上怎么可以有这么心胸狭窄的技术人,是不是测试人员只要推个 bug给你你就得气的几天不吃饭啊。心胸狭窄,心胸狭窄,心胸狭窄。。。
闲大赋
闲大赋

引用来自“叮当王子”的评论

这个作者真是见不得人说,人就说一句bettl不好,都不算是批评,你说白了就是个生意人,和气生财,就这么毫无痛点的一句话,你干嘛要骂人啊,真是眼睛大肚子小!
又一个小号。。为了诋毁我,oschina很多僵尸帐号,我都无语了。
我不是生意人,我上班外还搞开源,并多年来一直支持开源,还探索SpringBoot,并贡献出来我的认知。你贡献了什么,就上嘴皮和下嘴皮吗?注册一个马甲,然后再骂一下开源作者,你是现实生活中的弱智和傻逼
叮当王子
叮当王子
这个作者真是见不得人说,人就说一句bettl不好,都不算是批评,你说白了就是个生意人,和气生财,就这么毫无痛点的一句话,你干嘛要骂人啊,真是眼睛大肚子小!
j
joydon

引用来自“开源中国首席董事长”的评论

beetl 是什么
我大概知道一点。反正是吹得很牛的什么模板引擎。据说外星人都在用。反正是ET都爱的。
​Spring Boot 2.0 同步至 Maven 仓库出错,已撤回……

Spring Boot 2.0 目前已在 GitHub 上发布了 v2.0.0.RELEASE 版本(https://github.com/spring-projects/spring-boot/releases/tag/v2.0.0.RELEASE)。 不过还没同步至 Maven 中央仓库,请保持关......

凝小紫
2018/03/01
8.7K
54
SpringBoot(二)之核心

Spring Boot的核心 在上篇中我们成功运行了一个简单的web应用,其中有一个注解被轻易的带过了,但它在Spring Boot中是最重要的注解,没有之一,它就是@SpringBootApplication,本篇将对它与S...

郑加威
2018/12/23
0
0
SpringBoot与RocketMQ客户端集成原理解读与示例

本文将对rocktmq-spring-boot的设计实现做一个简单的介绍,读者可以通过本文了解将RocketMQ Client端集成为spring-boot-starter框架的开发细节,然后通过一个简单的示例来一步一步的讲解如何...

技术小能手
2018/11/13
0
0
spring boot 基础问题

https://www.oschina.net/question/24913332275473 Spring Boot是一套遵循的约定大于配置的体系,简化了很多组件的使用比如datasouce、JPA、SpringMVC等等,约定好自动化的配置,就可以使用功...

ka_ko
2018/08/25
0
0
聊聊Spring boot2.X开发环境搭建和基本开发

对Spring Boot的开发环境进行搭建,并对它的特点做进一步的了解,才能更好地对Spring Boot有更深入的介绍。但是无论如何都需要先来搭建Spring Boot的工程。 搭建Spring Boot开发环境 使用Spr...

异步社区
2018/08/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spark in action on Kubernetes - Playground搭建与架构浅析

前言 Spark是非常流行的大数据处理引擎,数据科学家们使用Spark以及相关生态的大数据套件完成了大量又丰富场景的数据分析与挖掘。Spark目前已经逐渐成为了业界在数据处理领域的行业标准。但是...

阿里云官方博客
7分钟前
0
0
小白大数据学习路线

学习大数据首先了解大数据技术得板块划分: 数据计算(离线计算):Hadoop、spark 数据计算(实时计算):storm、spartstreaming、flink 其他框架:zookeeper 数据采集:flume、Kafka 数据存...

董黎明
19分钟前
0
0
mariadb 内存占用优化

本文由云+社区发表 作者:工程师小熊 摘要:我们在使用mariadb的时候发现有时候不能启动起来,在使用过程中mariadb占用的内存很大,在这里学习下mariadb与内存相关的配置项,对mariadb进行调...

腾讯云加社区
今天
2
0
spring security 自定义登录认证

spring security 自定义认证登录 1.概要 1.1.简介 spring security是一种基于 Spring AOP 和 Servlet 过滤器的安全框架,以此来管理权限认证等。 1.2.spring security 自定义认证流程 1)认证...

EasyProgramming
今天
1
0
Win下Jenkins-2.138源码编译及填坑笔记

源码编译篇 1、 安装JDK1.8-181,操作系统添加JDK环境变量。Java -version验证一下。 注:Jenkins2.138版本,JDK必须jkd1.8.0-101以上,不支持Java9,Maven必须3.5.3以上。 2、 解压Maven3....

编程SHA
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部