说明:
源码工程目录讲解部分,讲解过程会让大家对后端源码工程有一个大致的了解,能让大家在此改造,就可以衍生出一些新的功能,需要对java技术深入了解,需要看后续java技术讲解部分,源码也是以前很久写的代码了,只供大家学习用,方便快速上手,有些不规范的或者有bug的,大家请忽略,重在教会大家
1、 工程目录
整个架构是一个spring-boot 项目,java比较流行的项目,是spring-boot 管理的一个工程,大家记住就好,spring-boot 工程是一个简化了老应用spring 配置化,部署等
例如:集成spring-boot ,内置了tomcat容器,无需将代码部署到tomcat启动,tomcat 好比一个容器,能接收网络请求并启动java代码生成java虚拟机,执行java代码,如下图,老方式是java代码部署在tomcat内部
spring-boot 配置好jdk后,直接就可以启动
spring-boot 启动的入口
1.1、 父工程
对一些公共的java包进行了声明,子类如果用到了,只需要声明即可,无需要在写版本号,此工程由四个模块组成
app-management-service app-management-dao app-management-common app-management-web子类的pom文件,只需要对父亲pom声明了包引用即可,这样能保证各个子类的包都是使用的同样的版本,防止每个子模块因版本不一样,在调用的时候,会出错,保证了子类版本的一致性
如下图,父类声明了操作mysq数据库的mybatics包,并声明了版本,dependencyManagement 代表只声明
子类只需要声明一下就代表用的父亲这个包了,其实看子类其实并没有写版本号
1.2、web子模块
1.2.1、 AOP 环绕
CacheAspect 处理缓存
LogAndAuth 统一日记处理
StreamLimiting 限流
1.2.2、 网络请求
主要用于网络请求用,接受网络请求,这里用了spinrg的注解来声明一个网络请求,如登录功能
网络请求
路径 服务器地址+端口 + 项目声明的请求路径 + user/login
参数即为jsonObject 对象里面的参数,mobile 和 password等
1.2.3、spring-boot 程序启动入口
spring-boot 程序启动入口
1.2.4、mybatics 连接数据库配置
jdbc_config.xml mybatics 连接数据库配置
1.2.5、lua脚本
redis 限流用,为了原子性,lua脚本能保证redis 原子性处理
1.2.6、local 下的properties
ftp mysql redis 等的配置
1.2.7、sql map
mybatics 连接mysql 一些常用的查询、编辑等操作
1.2.8、applicatio.yml
启动配置文件类,spring-boot 启动的时候,会加载此文件
1.2.9、logback.xml
打印日记处理类
1.3、service 层,重在处理逻辑上
如:后端在判断登录用户名和密码是否正确报错等
1.4、dao 层,连接数据库查询数据
这里通过用户名和密码查询用户信息,如果没查到,代表用户为注册
1.5、common包、公共的工具
注册的时候,请求验证码,网络请求等都在这个包里面