当前位置:首页 > 技术分析 > 正文内容

现在企业开发时,Java所用到的主流框架有哪些?

ruisui885个月前 (02-03)技术分析39

做了十多年的Java开发,和大家介绍一下我最近一两年用的比较多的Java框架(包括软件、中间件)。


  • Spring:从刚开始工作的时候就在用;是一个J2EE框架,提供了对IOC的良好支持,也提供了对AOP技术非常好的封装;

  • Spring MVC:也是Spring的一个子项目,实现了MVC设计模式,目标是解耦;

  • MyBatis、Hibernate:两个都是ORM框架,现在Hibernate用的少了;也有用到Spring Data JPA,这个可以看做是更高级的封装,可以通过方法的命名,实现SQL语句;

可以看到,上面就是SSM框架,现在还是比较流行的。

  • Maven:新老项目都是基于Maven构建,它是一个项目管理工具,主要功能有:项目构建;Jar包的依赖管理;版本管理;持续集成等等等等;

  • JUint:单元测试工具;也是老朋友了;测试框架还有不少,比如Spring Test,JMock等等。

  • Shiro、Spring Security:关于安全认证的框架,用于用户身份认证,权限授权、加密、会话管理等;

  • Cxf or Axis:老项目WebService用的比较多一些;历史问题,还是要了解一下;

  • Quartz:定时服务框架,一般都是单机应用;

  • Elastic-job:分布式定时服务框架,当当出品;

  • log4j、logback:各种日志工具;现在会有一些日志采集分析的框架,比如ELK;

  • Ehcache:缓存框架,也都是用于单机项目;

  • Redis:说道缓存,现在更多的使用Memcached、Redis;当然Redis也不局限于缓存;

  • Spring Boot:用于搞定其他框架的一个框架,主要是提供了各种启动器、简化了各种配置、方便和其他框架集成、开发者能够快速上手。

  • Dubbo:一个微服务框架,阿里出品;

  • Spring Cloud:另外一套微服务框架,这个就多了,例如:Config(配置管理中心)、Netflix Eureka(服务注册、服务发现)、Hystrix(断路器,这个官方好像已经不建议使用了,又有新的了)、Feign(声明式服务调用组件)、Ribbon(客户端负载均衡)、Zuul(网关)、Bus(消息总线)等等。

Dubbo or Spring Cloud:这个看公司的技术栈,用到哪个学哪个,都没有用到,建议学Spring Cloud。


  • Restful API、RPC:不同风格的服务;

  • Swagger:Restful API自动生成工具;

  • 消息队列:常用RabbitMQ和Kafka,一种保存消息的容器,也用于系统间解耦;

  • MongoDB:BSON(类似JSON)格式的内存数据库;

  • Zookeeper:一个分布式协调服务;

  • Nginx:或其他负载均衡软件;

  • Docker:容器技术。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1344.html

分享给朋友:

“现在企业开发时,Java所用到的主流框架有哪些?” 的相关文章

费用管理解决企业财务难题

目前来讲,国内大多数企业费用预算管理都是由财务部门“一手包办”,与之相适应的是费用管理的信息化手段是通过财务管理软件来实现,仅仅局限于财务预算管理层面,从而使预算管理处于“预而不算”的状态,表现为信息滞后、执行者在执行预算过程中处于被动地位、可控性差、考核难以奏效。而且由于对各部门预算缺乏约束力,员...

10分钟搞定gitlab-ci自动化部署

gitlab-ci 是持续集成工具/自动化部署工具,类似 jenkins。持续集成 是将代码集成到共享存储库并尽可能早地自动构建/测试每个更改的实践 - 通常一天几次。概述在编码完成时都会进行打包发布过程,如果每次都手动操作这一步骤就会浪费时间,效率低下。所以就有了持续集成。准备事项请提前安装以下软...

JS数组过滤元素的方法

引言JavaScript 作为前端开发的核心技术之一,在现代 Web 开发中扮演着举足轻重的角色。随着 Web 应用越来越复杂,高效处理数据集合的需求日益凸显。本文旨在介绍 JavaScript 中数组过滤的基础知识及其在实际项目中的应用技巧。技术概述定义数组过滤是 JavaScript 提供的一种...

Vue从入门到实践 丨Vue-router基本使用

1. 什么是 vue-routervue-router 是 vue.js 官方给出的路由解决方案。它只能结合 vue 项目进行使用,能够轻松的管理 SPA 项目中组件的切换。vue-router 的官方文档地址:https://router.vuejs.org/zh/2. vue-router 安装...

推荐一个Java微服务商业级Sass开源电商小程序(开源,企业级项目)

使用Java微服务开发,SpringBoot2框架、MyBatis-plus持久层框架、Redis作为缓存、MySql8作为数据库。 前端vuejs作为开发语言,使用uniapp编码,同时支持微信小程序、安卓App、苹果App。 支持集群部署,单机部署。 unimall 针对中小商户、企业和个人消...

面试题:同步和异步的区别

作者:雅克的一府来源:http://www.52rd.com/Blog/Detail_RD.Blog_imjacob_4832.html答案一:1.异步传输 通常,异步传输是以字符为传输单位,每个字符都要附加 1 位起始位和 1 位停止位,以标记一个字符的开始和结束,并以此实现数据传输同步。所谓异步...