java框架都有哪些:主流分类与选型参考
java框架都有哪些,主流分为Web开发、持久层、微服务、工具类、安全框架五大类,SpringBoot、SpringMVC、MyBatis、SpringCloud、Shiro是开发里高频选用的组件,单体业务优先SpringBoot搭配MyBatis,分布式微服务场景选用SpringCloud生态,小型内部管理系统可以用Quarkus、Micronaut降低启动开销,老旧项目维护时常会遇到Struts2,该框架漏洞较多,新项目一般不选用,学习阶段优先吃透SpringBoot,再延伸配套框架,适合后端开发实习生、Java后端工程师、做技术选型的架构师,仅面向后端服务开发场景,前端渲染类Java框架不在此范围。
java框架Web开发类
SpringBoot是基于Spring的快速开发框架,内置服务器、自动配置,省去大量XML配置,你搭建单体接口、后台管理服务时首选它,开发速度快,社区资源充足。SpringMVC属于Spring体系下的MVC组件,负责接收请求、参数绑定、视图分发,常和MyBatis组合使用,多用于传统SSM项目。Quarkus是云原生方向的Web框架,基于GraalVM,冷启动速度较快,适合容器、Serverless这类资源受限的部署环境。Micronaut和Quarkus定位相近,同样主打低内存占用、快速启动,支持响应式编程。
Struts2是早期经典MVC框架,项目维护成本偏高,公开漏洞数量较多,新项目尽量避开。
java框架持久层类
MyBatis是半自动化ORM框架,SQL由开发者自主编写,可控性强,业务查询复杂、需要精细调优SQL的项目更适合,国内企业项目使用占比很高。MyBatis-Plus在MyBatis基础上封装通用CRUD,减少重复基础SQL代码,自带分页、条件构造器,能进一步提升开发效率。Hibernate属于全自动化ORM框架,通过对象映射自动生成SQL,适合业务简单、SQL改动少的场景,复杂SQL调优难度相对更高。JPA是一套持久层规范,Hibernate、EclipseLink是它的实现产品,很多SpringBoot项目可以直接引入spring-data-jpa快速实现数据操作。
java框架微服务生态类
SpringCloud是一套微服务治理框架集合,不是单一框架,它包含服务注册发现、配置中心、网关、熔断限流等组件,和SpringBoot天然适配,国内微服务项目选用频次高。SpringCloudAlibaba是SpringCloud的衍生实现,依托Nacos、Sentinel、Seata等组件,适配国内的云平台环境,注册中心、流量管控、分布式事务能力完整。Dubbo是高性能RPC通信框架,侧重服务之间远程调用,常搭配Nacos做注册中心,适合高并发内部服务通信场景。
java框架安全与工具类
| 框架名称 | 核心用途 | 适合场景 |
|---|---|---|
| SpringSecurity | 认证、授权、权限控制 | Spring体系项目,权限逻辑复杂 |
| Shiro | 登录、权限、会话管理 | 中小型项目,上手简单 |
| EasyExcel | Excel读写解析 | 报表导入导出业务 |
| Hutool | 通用工具封装 | 日期、加密、文件等基础工具调用 |
SpringSecurity功能覆盖全面,和SpringBoot整合顺滑,权限粒度可以精细控制,学习成本会更高。Shiro配置简单,上手门槛低,独立项目也能接入,适合中小型管理系统。Hutool、EasyExcel不属于业务主框架,是辅助工具框架,用来简化重复工具代码,减少自己封装工具类的工作量。
框架选型优先匹配项目部署形态。
单体业务优先SpringBoot+MyBatis-Plus,微服务业务优先SpringCloudAlibaba,Serverless、容器轻量部署场景可以评估Quarkus,内部简单后台系统可以选用Shiro做权限。不要盲目叠加多个框架,多余框架会增加依赖冲突、版本维护的负担。
Java框架更新迭代速度较快,版本升级前要核对依赖兼容关系,避免版本冲突引发运行异常。
