小程序后台搭建java 微信小程序后端开发java

 前言:

因为是第一次真正接触后端开发,从编码到部署服务器到上线,所以做个笔记,也供和我一样的开发小白一些参考。

一、前期工作:开发环境与工具:

1. 编程语言:Java    #笔者还没学PHP,只想到了Java.

2. (后端)开发IDE:Eclipse    #看网上很多大佬都是用的IntelliJ IDEA, 有空了解。

3. 开发框架:Springboot + Mybatis    #都是我第一次接触orz..

4. 服务器:阿里云学生服务器  顺便在阿里云上把域名买了

二、编码与本地测试!

这部分都是按照课程《SpringBoot+MyBatis搭建迷你小程序》边学边做的,可以自己去学。

这里我按照课程目录,简单总结记录了一下流程:

1. Springboot框架搭建

有关Springboot框架的学习,搭建可以参考这篇博客 构建微服务:Spring boot 入门篇 博主纯洁的微笑写了一系列的springboot文章,写得很棒!构建项目里面也有讲到,跟着里面的步骤做就好了。项目创建好后,导入Eclipse,下面看一下项目结构。 

小程序后台搭建java 微信小程序后端开发java_小程序

Spring Boot的基础结构共三个文件:  

src/main/java  程序开发以及主程序入口  

src/main/resources  配置文件                   

src/test/java  测试程序  

pom.xml 配置依赖文件  

2. 明确功能点,设计实体类与数据库

数据库用的MySQL,所以装了SQLyog,这里安装还踩坑了,后来终于连接上了;

实体类的设计就通过构建E-R图的方式来确定问题中设计的实体,然后数据库一般就对照着实体类的属性设计就可以了。

3. 配置配置文件

  • pom.xml中配置各种依赖包,然后运行的时候会自动加载到项目中Maven Dependencies文件夹下;可以在其中查看一些包的版本。
  • mybatis-config.xml中的配置是设置mybatis的一些属性。
  • 配置dataSource和sessionFactory

. 编写Dao层接口,及对应的Mapper文件

  • Dao层接口即数据接口层,是根据数据库表的设计提供最基本的实体属性的CRUD操作(增删查改),Dao是最直接最底层的数据层,我觉得比较强调封装性,所以传入的参数和返回值的类型的选择需要慎重。
  • Mapper层,是xml文件层,是Dao层接口的具体实现,MyBatis持久层框架中,需要针对Dao接口中的每一个类编写对应的xml文件,并在其中实现接口,即编写SQL语句,一般把xml文件统一放在一个mapper文件夹中。

5. 编写Service层接口及接口实现

Service层是较为具体的功能实现了,利用Dao层的接口来包装具体的功能点。

6. 编写web层(Controller层)业务接口Controller

Controller层就是我们的业务层的,编写的就是对前端开放供其调用的接口,所以接口就是完全对接前端功能请求的,一一对应的。

7. 测试

  • 在每层的编码完成后,都应该做单元测试;
  • 接口写好后,本地测试,可以下载Postman进行测试。

 8. 项目架构说明

服务器端项目采用分层结构,一共是四大层:Entity层 –> Dao层 –> Service层 –> web层,层次关系如下图示:

 

小程序后台搭建java 微信小程序后端开发java_后端开发_02

三、部署到服务器

这部分需要做的工作是:

  1. 选择合适的方式打包项目
  2. 在服务器环境配置好的前提下,将项目上传并运行

该项目中,是给微信小程序提高后端接口,而微信小程序只支持请求https访问,所以我需要配置ssl证书(阿里云会提供免费证书),配置的过程一波三折,因此部署过程稍微有点难以描述,我特地拎出来写了下面这篇博客:

小程序后端项目【Springboot框架】部署到阿里云服务器【支持https访问】,有需要可以移步~

四、易错点总结

  • Springboot框架中大多数配置都配置好了,用起来不像SpingMVC那么复杂,易上手。使用时切记不能忽略的是注解,我觉得它们是省略配置的关键吧。
  • mapper文件中的SQL语法编写时,需要注意很多,整理了一些知识点:
  •  MyBatis mapper.xml中SQL处理小于号与大于号 
  •  Mybatis中动态SQL(if,where,foreach 的使用)
  •  mybatis中的#和$的区别
  •  Mybatis传递多个参数的4种方式(干货)
  •  mybatis学习(七)——resultType解析
  •  mybatis动态获取数据列
  • java中日期类型和mysql中日期类型进行整合
  • @requestbody—接受前端传json对象并绑定javabean
  • java代码发送JSON格式的httpPOST请求
  • Springboot运行时使用内嵌tomcat,因此端口号需要注意,不要和外部tomcat环境的端口号有所冲突了。

 

原文链接:https://blog.51cto.com/u_16099272/6418172

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享