springboot&微信小程序实战_开发说明

springboot&微信小程序实战_开发说明

项目源代码到此链接
本项目采用的是springboot2.0与微信小程序实现前后端分离。

前台使用微信小程序与es6相关语法

后台使用 mysql数据库、druid连接池、mybatis ORM框架、redis 缓存、Nginx-fastDFS 文件服务器、fastjson 序列化工具、pagehelper和通用mapper 插件,以及 httpClient HTTP协议的客户端编程工具包、bcprov-ext-jdk16 微信授权登录敏感信息界面、最后就时采用 swagger2做RESTful API文档工具

1、数据层:

  1. mysql 数据库是开放源代码的关系型数据库管理系统(常用)
  2. Druid 首先是一个数据库连接池,选择它做连接池而不选择其他连接池,是因为它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQLParser。Druid支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、Postgresql、SQLServer、H2等等。
    Druid针对Oracle和MySql做了特别优化,比如Oracle的PSCache内存占用优化,MySql的ping检测优化。
    Druid在监控、可扩展性、稳定性和性能方面都有明显的优势。Druid提供了Filter-Chain模式的扩展API,可以自己编写Filter拦截JDBC中的任何方法,可以在上面做任何事情,比如说性能监控、SQL审计、用户名密码加密、日志等等。
  3. mybatis 为半自动化ORM框架,可以让我们程序员的做一些可控性操作,带来了设计上的灵活,单表操作优秀的一款框架,支持延迟加载等等,当然现在也流行JPA框架,但我更习惯使用前者。因为 mybaits 框架有优秀的插件库,这里我们需要用到 pageHelper、 通用 mapper 插件,方便对数据库的操作
  4. redis 缓存做不二选择,超高读写速度,加上 redis 只有一个线程,不存在并发问题,有人说那 redis 炸了怎么办,我只能说没有绝对安全的,redis有集群操作,搭建也容易。

2. 服务层:

  1. httpClient HTTP协议的客户端编程工具包,方便我们进行跨项目请求,在这里,我们是用来微信授权登录转发请求获取用户 openid
  2. bcprov-ext-jdk16 这里主要是用于微信授权登录请求回来时敏感信息的解密操作。
  3. fastDFS 文件操作,这里我们主要用于上传图片操作

3.控制层:

  1. fastjson 序列化操作,主要用来将 null值返回给前端时做一层处理,将null值 转换为空字符串
  2. swagger2 做RESTful API文档来记录所有接口细节,方便前端开发,这里虽然都是我们自己一个人在做,但是在这里也是为了告诉大家,有这么一回事,swagger2 可以减少后端人员与前端(移动端、pc端、小程序)人员交流

你可能感兴趣的:(springboot&微信小程序实战_开发说明)