java的框架有哪些:按项目场景可划分主流开发与轻量化框架

java的框架有哪些:按项目场景可划分主流开发与轻量化框架

刚入行面试的时候被面试官问到java的框架有哪些,那时候脑子一片空白,只模糊记得一两个常用名称,完全分不清各自的用途和适配场景,后续踩了无数项目坑,实打实上手开发迭代后,才彻底摸清各类Java框架的真实用法。

第一次正式做企业传统后台项目,用的是最经典的SSM组合。那时候只会照着教程敲代码,根本不懂框架分工,把所有配置堆在一个文件里,项目启动频繁报错,调试整整两天才勉强跑通。折腾好久才搞明白,Spring是核心容器框架,主打依赖注入和事务管理,负责统筹整个项目的组件调度;SpringMVC承担请求接收、参数解析、视图跳转的工作,是对接前端的核心;MyBatis作为持久层框架,负责程序和数据库的数据交互,三者搭配是传统单体Java项目的标配。

很多新手都容易盲目堆砌框架。

后来参与公司微服务项目重构,彻底换掉了笨重的SSM,全面用上SpringBoot和SpringCloud体系。SpringBoot算是Java开发的刚需框架,它简化了Spring繁琐的手动配置,自动加载核心依赖,不用再编写大量XML文件,原本需要大半天搭建的项目环境,现在几十分钟就能完成初始化,极大降低了项目搭建的门槛。而SpringCloud是一套微服务生态框架集合,整合了服务注册、网关路由、熔断限流、配置中心等所有微服务必备功能,专门适配分布式、多模块的大型项目,也是目前企业主流的微服务解决方案。

做轻量化小型工具项目时,试过不少小众高效的Java框架。

日常开发轻量定时任务、接口转发、小型独立服务的时候,SpringBoot还是会有内存冗余、启动偏慢的问题,这时候Quarkus和Micronaut的优势就完全体现出来了。这两个轻量化框架主打极速启动和低内存占用,原生适配云原生部署,我之前开发的日志推送小服务,替换成Quarkus之后,服务器内存占用直接缩减六成,启动速度从三秒压缩到零点几秒,特别适合小型、高频、轻量化的业务场景,只是生态不如Spring完善,复杂项目很少有人用。

深耕数据层开发后,还频繁用到MyBatis-Plus和Spring Data JPA这两个衍生框架。

最开始写业务代码,每天都在重复手写增删改查的SQL语句,枯燥又低效,还容易出现语法错误。接触MyBatis-Plus之后才解脱,它基于MyBatis做了封装,内置了全套基础数据库操作方法,无需手写SQL就能完成绝大部分CRUD业务,还自带分页、条件查询、逻辑删除等实用功能,是现在CRUD项目的首选持久层框架。Spring Data JPA则更偏向快速开发,通过实体类注解就能自动生成数据表和SQL,适合快速迭代的原型项目,唯一的短板就是复杂多表联查场景灵活性很差,很难适配复杂业务逻辑。

除此之外,还接触过已经逐步淘汰的Struts2框架,之前维护老旧遗留项目时踩过不少坑,这个框架漏洞多、配置繁琐、生态停滞,现在所有新项目基本都不会选用,彻底退出了主流开发队列。

加班改完最后一个微服务版本,关掉开发工具的瞬间,桌面文件夹里还躺着各个框架的实操笔记。

了解更多百科知识请访问 百科