大家好,今天小编关注到一个比较有意思的话题,就是关于java语言单元测试框架的问题,于是小编就整理了1个相关介绍j***a语言单元测试框架的解答,让我们一起看看吧。

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

你平时主要使用什么J***a开发框架?

J***a框架一直以来都是面试必备的知识点,而掌握J***a框架,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能对当前正在开发中的系统有整体的认知,从而更好的熟悉和学习技术,这里我把常见的一些框架给您整理一下。

java语言单元测试框架-java语言单元测试框架是什么
(图片来源网络,侵删)

Spring框架,这个只要想从事j***a开发或正在从事j***a开发的,没有人不知道吧?没有人不在用吧?一般应该是天天用才是。SpringIoc和SpringAOP是Spring的两大核心功能,让j***a程序员解放了,各种整合框架,轻松搞定,把重心放到业务实现上去。

hibernate框架,也是我最喜欢的框架之一。是开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得J***a程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在J***a的客户端程序使用。

java语言单元测试框架-java语言单元测试框架是什么
(图片来源网络,侵删)

可以说j***a官方的jpa,就是适应hibernate的超好用,而设计的。如果没有hibernate,可以不一定有orm的出现。

MyBatis,不多说, 也是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 J***a 的 POJOs(Plain Ordinary J***a Object,普通的 J***a对象)映射成数据库中的记录。

java语言单元测试框架-java语言单元测试框架是什么
(图片来源网络,侵删)

Apache Shiro是一个强大且易用的J***a安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。

随着DevOps的流行,Spring Cloud是一系列框架的有序***,当前最为流行。这里涉及到好多框架,我就不一一列出来了,大家可以自己去了解。

总之,做为一个J***a开发者,熟练掌握并应用20种以上框架应该不叫算多,J***a的生态太强大,所有大家要好好学习呀。

就拿我们项目来举例说一说吧。

我们的项目是一个纯后台服务的项目,也就是没有前端页面,只对外提供服务;项目是是基于 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 的绝大部分操作。

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

问题:平时主要使用什么J***a开发框架

回答:基础框架是Spring Boot,在工作过程中使用过Spring Cloud 和 Dubbo来实现微服务架构。

Spring Cloud 和 Dubbo 也是目前主流的微服务实现架构,现在公司的中台就是***用的Dubbo,但是也是遇到许多问题。接下来会慢慢重构掉,有考虑***用Spring Cloud来实现。

到此,以上就是小编对于j***a语言单元测试框架的问题就介绍到这了,希望介绍关于j***a语言单元测试框架的1点解答对大家有用。