Java常用框架大全,java开发常用四大框架( 三 )


你平时主要使用什么Java开发框架?

Java常用框架大全,java开发常用四大框架


就拿我们项目来举例说一说吧 。我们的项目是一个纯后台服务的项目,也就是没有前端页面,只对外提供服务;项目是是基于 Spring Boot 来做的,引入 spring-boot-starter-web,直接对外暴露接口,报文使用的 JSON,有极个别的接口是从老系统迁移过来的,为了让调用方尽可能地稍作修改,所以保持了 XML 的报文;在正式的生产环境中,也是使用的内置的 Tomcat;集成了 Swagger,来做接口的文档在线自动生成 。
ORM 框架选择的是 MyBatis,由于项目中大部分的查询都做到了单表查询,而且查询条件比较固定,所以直接使用注解做的 SQL 语句绑定 。因为项目不仅使用了关系型数据库,而更多的数据是加工关联后保存到了 MongoDB 中,所以项目也用到了 Spring Data MongoDB,我们的 MongoDB 是做了副本集的部署,使用 Spring Data MongoDB,只需要做简单的配置,就可以完成对多台 MongoDB 的访问,如果其中一台 MongoDB 挂了,对服务也是没有影响的,所以我们做 MongoDB 扩容的时候是可以在线做的(MongoDB 扩内存和 CPU 的时候需要停机) 。
和部分系统的交互使用到了 RabbitMQ,而 Spring Boot 只要引入 spring-boot-starter-amqp,其实就可以很方便地完成和 RabbitMQ 的集成;生产者和消费者都非常方便 。因为是纯接口的服务,为了减轻数据库的压力,所以我们根据业务场景,将一些接口的结果直接缓存到 Redis 中(数据变化不频繁,并且业务场景的实时性要求不是很高) 。
在集成 Redis 的时候,我们前后试了两种方式:Spring Boot 项目,直接使用 @Cacheable 注解就可以完成和 Redis 最简单的集成,但是后来因为设置缓存的超时时间不够灵活,我们后来改成了第二种方案;使用 RedisTemplate,可以完成对 Redis 的绝大部分操作 。我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注 。
当前java web开发用得一般都是哪些框架?
Java常用框架大全,java开发常用四大框架


当前java web开发用的一般都是哪些框架?要看具体公司应用场景 。一般来说,国内大多以spring框架体系为主 。按公司规模分,小的创业公司,以实现业务功能为主,用户流量不大,单体应用就能满足,springboot居多 。中大规模公司,开始微服务拆分,以springcloud居多,也有部分使用dubbo的 。
现在企业开发时,Java所用到的主流框架有哪些?
Java常用框架大全,java开发常用四大框架


做了十多年的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:用于搞定其他框架的一个框架,主要是提供了各种启动器、简化了各种配置、方便和其他框架集成、开发者能够快速上手 。

推荐阅读