up:: SpringBoot电商项目订单模块订单模块全流程演示和总结

说明:

(1) 本项目要想部署到云服务器上,需要调整和增加的一些东西


声明: 为了不干扰【我们在本机开发的项目】,我们把项目复制了一份,在复制的项目中,进行修改;


一:上线前的修改;

1.一个补充:在request的实体类中,添加了toString()方法;

为什么?:

● request实体类,都是方便接口接收参数用的;

● 而,在【SpringBoot电商项目数据库表设计】中,我们在打印请求与响应信息的日志时,也打印了方法的参数;

● 所以,为了在打印【用到了request实体类结接收参数的,方法的,参数】信息时,能明确的看到该实体类参数的具体内容;我们这儿需要重写一下toString()方法;

2.一个修改:登录接口,改为Get方式;(PS:这儿,目前,自己并不认同;觉得,登录最好还是用POST;)

3.一个修改:生成支付二维码的地方,ip需要修改为生产环境的ip;(这个在下面的application-prod.properties,会修改的)

4.增加一个专用于生产环境的,配置文件:application-prod.properties;

(1)数据库驱动;

● 本机安装的MySQL是8.0.23版本;(【MySQL介绍】)

● 为此,我们在连接数据库时,最好也使用8版本的驱动;然后,因为是8版本的驱动,所以我们要使用的数据库驱动类,就是【com.mysql.cj.jdbc.Driver】;可以参考【JDBC驱动分析】;

● 但是,在经过实测,如果数据库是8版本,我们的数据库驱动可以使用5版本的;那么,此时,因为驱动是5版本的,我们要使用的数据库驱动类,就是【com.mysql.jdbc.Driver】;可以参考【MyBatis环境配置】;

经过查询(没查到~~),和自己的实测,似乎可以确定:8版本的数据库,也可以使用5版本的驱动;但,自己以后在开发中,尽量不要这么做;

● 在项目中,如果数据库是8版本的,数据库驱动最好也使用8版本的;可以参考【准备工作】;

也可以参考【Spring与Mybatis整合】;

● 同时,在本Spring Boot项目中,我们使用的也是8版本的驱动;所以,数据库驱动类使用的是【com.mysql.cj.jdbc.Driver】;

这样其实是没问题的,因为自己开发所用的电脑,安装的MySQL就是8版本的;

● 但是,在业界,生产环境中,MySQL还大多使用5.x版本;自然,我们将要部署的服务器中,MySQL也是使用的5.x版本;所以,在生产环境中,对应的数据库驱动,我们就要使用【com.mysql.jdbc.Driver】;


(2)数据库密码;

自己开发所用的电脑,安装的MySQL的root账户的密码,自己设为了12345;后面,将要部署的服务器上的MySQL,root账户的密码我们设的是123456;(当然,也可以设置其他的;只要,application-prod.properties中的配置项与自己实际在服务器上设置的保持一致就行了;)


(3)(不确定,后面可能修正)在这儿,我们把项目和redis部署在了同一台服务器上了;


(4)上传的商品图片、支付二维码图片保存路径,也要修改下;

(当然,也可以设置其他的;只要,application-prod.properties中的配置项与自己实际在服务器上设置的保持一致就行了;)


(5)(后面需要修改为自己的服务器的密码)支付二维码的ip,也要修改为所部署服务器的ip;


(6)项目端口号,线上部署时,我们也使用了8083;

● 自然,这个端口号也可以修改为其他的;

● 后面,我们在服务器上配置安全组、打开端口时候,打开自己所配置的那个端口就好了;


(7)application-prod.properties中的icode是为了保护版权而添加的,与项目无关;

这儿,icode的作用是接口校验码;这里添加icode是为了更好保护正版的合法权益,打击盗版。通过icode进行验证和获取jar包位置从而可以运行代码,


(8)可以看到,为了把项目部署到服务器上,我们需要修改的地方还是挺多的;所以,为了方便快捷,干脆就创建了application-prod.properties这个配置文件;

有关多配置文件的内容,在Spring Boot高级功能部分,将会介绍;主要就是,在不同的环境,使用不同的配置文件;

5.引入,服务器上用到的、创建数据库表的SQL文件;

(1)这些是,我们创建数据库表、添加一个初始测试数据的SQL脚本文件;

(2)其中imooc_mall_local.sql是我们在自己电脑上开发时,所用到的SQL脚本;如有需要可以参考【SpringBoot电商项目数据库表设计】;

(3)而,imooc_mall_online.sql则是,我们将要在服务器上快速创建数据库表,所要用到的SQL脚本;

(4)待修改项目:测试数据的、图片可访问地址中的ip地址,需要修改为自己服务器的ip地址;

6.引入一些,前端的内容;(这儿其实,没太明白~~)

(1)我们需要在ImoocMallWebMvcConfig配置类中,配置一下;

 
     registry.addResourceHandler("/admin/**").
     addResourceLocations("classpath:/static/admin/");
 

(2) 但是,有必要说明一下,就前端这儿的两个疑问;

● 自己对为何要在后端项目中,引入static这些前端文件,是不明白的;

● 为什么在ImoocMallWebMvcConfig配置类中,只配置了后台系统的前端文件,而没有配置前台系统的前端文件?

(3)前端文件中的请求地址,需要用到ip地址;我们把其修改为自己的服务器的ip地址;

7.一个修改:在log4j2.xml中,修改下日志的存放路径;