谈起java web开发框架的变迁

谈起java web开发框架,先是SSH(Struts、Spring、Hibernate),后来升级为Struts2
到后来Struts2被spring mvc替换掉,变成了Spring + SpringMVC + Hibernate/ibatis架构,然后Hibernate配置维护需要的人力成本大而慢慢被ibatis代替,后来MyBatis出现了,从iBatis到MyBatis,MyBatis提供了更为强大的功能,同时并没有损失其易用性,相反,在很多地方都借助于JDK的泛型和注解特性进行了简化,变成为了Spring+SpringMVC+Mybatis目前很多公司比较流行的框架,但最近开始向Springboot+Mybatis架构转变,同时基于springboot的springcloud微服务框架开始成为前沿框架。
目前应该Spring+SpringMVC+Mybatis这样的框架占主流,Springboot+Mybatis架构开始兴起。所以对于初学者或有丰富经验的开发人员或架构师,在技术学习或选型上应该考虑Springboot+Mybatis。
Mas最近几年比较火,基于SOA的服务会慢慢退出历史舞台,微服务的框架有很多,其实了解主流的springboot、dubbo就可以了,springboot+dubbo目前很多公司也在用。Spring Boot让你可以通过嵌入式服务器将它提供的Java应用程序与你自己的应用程序一起使用,Spring Boot拥有你的应用程序所需的所有基础架构,springboot的优点大家可以去官网学习下,这里不在叙述。
开发流程
我们在开发测试部署上线过程,我叫他工程化概念,大多数企业目前已经使用jenkins进行持续化集成,加上自动化测试及代码扫描功能,很有部分企业处于纯手工阶段,所以第一步要实现开发部门狭隘的工程化,如下图所示,开发只关心开发,开发和测试之间有交集,测试完成后,转交给运维,那么开发的生命周期就结束了。这样的好处是通过软件工程化,使每个人各司其职,把自己分内的事情做好,达到最大的产能输出。
![enter image description here](http://images.gitbook.cn/3c601ad0-6c68-11e8-a3f1-8d9f51994466)
所以从开发到测试,测试到运维部署上线,包括采用docker技术实现虚拟机、容器自动化的创建和部署。

猜你喜欢

转载自blog.csdn.net/github_34457546/article/details/81354210