做了十多年的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也不局限于缓存;

Java前端开发主要框架 前端框架javaex用的多吗_服务框架


Spring Boot

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

Dubbo

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

Spring Cloud

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

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

Java前端开发主要框架 前端框架javaex用的多吗_Cloud_02


Restful API、RPC

        不同风格的服务;

Swagger

        Restful API自动生成工具;

消息队列

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

MongoDB

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

Zookeeper

        一个分布式协调服务;

Nginx

        或其他负载均衡软件;

Docker

        容器技术。