以我们的项目为例。
我们的项目是纯后台服务项目,即没有前端页面,只对外提供服务;项目基于springboot,引入spring-boot-starter-web,直接公开接口,消息使用的json,很少接口是从旧系统迁移过来的,所以为了让调用方尽可能小的修改,保留了xml消息;在正式的生产环境中,内置的tomcat也是用;集成了swagger,在线自动生成界面文档。
orm框架选择mybatis。由于项目中的查询大多是单表查询,且查询条件相对固定,所以标注做出的sql语句是直接绑定的。
因为项目不仅使用了关系型数据库,而且经过处理关联后在mongodb中保存了更多的数据,所以项目也使用了spring数据mongodb。我们的mongodb已经部署了副本集,使用spring数据mongodb,通过简单的配置就可以完成对多个mongob的访问。如果其中一个mongodb挂了,对服务没有影响,所以我们可以在扩展mongodb时在线进行(扩展内存和cpu时mongodb需要停止)。
在与一些系统的交互中使用rabbitmq,只要将spring-boot-starter-amqp引入springboot,其实可以很容易地与rabbitmq集成。生产者和消费者都很方便。
因为是纯接口服务,为了减轻数据库的压力,我们根据业务场景(数据变化不频繁,业务场景对实时性要求不是很高)将部分接口的结果直接缓存到redis中。在整合redis的时候,我们前后尝试了两种
springboot项目,最简单的与redis集成可以直接使用@cach
java是一种计算机编程语言,也是一种面向对象的编程语言。java可以开发后端,包括spring,springmvc,springboot,sprin。gcould等等都是用java开发的。java也有前端框架,包括jquery、javascript、jsp和servlet,统称为javaweb开发。用java写程序非常简单,根据相关的模板和业务代码就可以实现一个系统。