Spring boot
一、 架构培训内容
6月26日下午的培训,关于springboot的基本没有讲,主要讲了两部分:
1、 讲了新架构的描述和实现方式。通过前后端分离的开发模式,将前端和后端分离起来,使用网关来进行负载均衡。
2、 针对前端,讲了前端应用技术和前端新框架下的开发方式。
二、 我对Spring boot 理解
Spring框架已经出现了很多年,也是现在最流行的、使用范围最广的一种开发框架。Spring的也出现了很多种,我们熟悉的有Spring和Spring mvc 等。Spring框架也可以配合其他框架共同完成整个项目的开发,比如struts、hibernate、mybatis等等。在使用这些框架时,难免会配置一些繁琐的xml和property文件。这样在开发和维护过程中非常麻烦,一不小心少配置一步就会导致程序起不来,还找不到原因。为了简化配置,避免产生以上的问题,Spring boot出现了,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,使得Spring boot 程序能够快速构成开发框架,快速开发。
三、 Spring boot 优点
1、 创建独立的Spring应用程序
Spring boot是一个独立的Spring应用程序,其内部以及集成了Spring的一些框架。
2、 嵌入的Tomcat,无需部署WAR文件
引入tomcat依赖包即可,打成Jar包也能运行tomcat应用。
3、 简化配置
大大的简化了框架之间的集成配置,几乎没有配置文件。快速成型、快速开发。
4、 提供生产就绪型功能,如指标,健康检查和外部配置—这个还在探索中
5、 绝对没有代码生成和对XML没有要求配置
四、 Spring boot 缺点
1、 在使用Springboot创建项目的过程中,发现Spring boot对jsp支持不太好,这也是官方说的不建议Spring boot + JSP ,如果单单使用Spring boot框架开发java web程序会相当麻烦。
2、 合适做轻量级微服务和接口,不适合做比较大型的项目
3、 简单的背后蕴藏了巨大的学习曲线。入门容易,但是如果没有完整学习spring的体系,碰到问题就一脸懵逼。据我所知,很多玩spring boot的人连怎么打开底层包的log都不知道,怎么可能能发现问题呢?
4、 文档略少, 特别是一些JavaConfig相关的东西, 不用自己做配置,有时启动时不知道框架哪里抽风,会导致系统无法启动,报的错都很神奇,搜完百度和谷歌都没解决方案。用 @DependsOn注解应该就能搞定(但就是网上死活搜不到)
5、 版本更新较为频繁,有点模块改动较大,可能隐藏潜在的版本兼容问题。
五、 Spring boot 能为我们做什么
1、 根据Spring boot的优点,我们可以使用它快速搭建程序框架,进行业务开发。
2、 咱们公司新项目要是用前后端分离架构,Spring boot就是不错的后端开发平台,对前端暴露接口即可,开发快、调试快。与swagger结合,可以实时维护接口的一致性,不需要在写接口文档。测试直观、方便。
3、 将接口程序打包成可执行的Jar包。可以部署成系统服务,当做系统服务一样运行,启动、停止等都很方便。
4、 做微服务,对于后台可以将公用的、常用的方法或服务使用Spring boot搭建,在新的项目中如果有该类需求的话直接调用即可,缩短开发周期。
5、 关于在老项目中改动,我个人不建议这么做,首先是Spring boot适合做微服务和接口程序,以前咱们的程序大多是完整的平台程序比较复杂,二者不适合相互修改。其次、改为Spring boot要配合前端使用前后端分离的架构,对于平台类的大项目这样不亚于重新开发,考虑到业务逻辑的前后端沟通,实时起来比较困难。但是也不是全都不能改,对于一些没有页面或前端代码很少的纯粹java服务,可以改为Spring boot 程序作为服务运行。
6、 对于以后的新项目,建议使用Springboot + swagger作为后端。这样便于维护、开发迅速、使用独立前端具有更好的操作性、友好性。对于公共的后台,比如查询大数据可以使用Spring boot作为云服务供其他项目使用。同样即是是组内的也可以搭建组内的云服务。
六、 为什么选择Spring Boot作为微服务的入门级微框架
这个比较深入了,参考网上一些资料
参考链接:http://www.csdn.net/article/a/2016-05-12/15838098
--2017-06-28 June-D