当前位置: 首页 > article >正文

java源码-工程讲解

说明:
源码工程目录讲解部分,讲解过程会让大家对后端源码工程有一个大致的了解,能让大家在此改造,就可以衍生出一些新的功能,需要对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包、公共的工具

注册的时候,请求验证码,网络请求等都在这个包里面

在这里插入图片描述


http://www.kler.cn/a/135924.html

相关文章:

  • Burp与其他安全工具联动及代理设置教程
  • 微服务分布式(二、注册中心Consul)
  • 基于DockerCompose搭建Redis主从哨兵模式
  • 使用 AI 辅助开发一个开源 IP 信息查询工具:一
  • 山景BP1048蓝牙音频任务后台运行设置方法
  • mysql的事务控制和数据库的备份和恢复
  • 三十分钟学会zookeeper
  • 软件测试:测试分类
  • 【FFmpeg实战】ffmpeg播放器-音视频解码流程
  • Python如何调用ixchariot进行吞吐量测试
  • mysql数据模型
  • hypermesh学习总结(一)
  • UE 视差材质 学习笔记
  • AIX 系统基线安全加固操作
  • MATLAB程序设计课后作业三、四
  • 【设计模式】聊聊策略模式
  • 碰到一个逆天表中表数据渲染
  • C语言——2.安装并使用VS
  • 力扣刷题-二叉树-二叉树的高度与深度
  • 搭建网关服务器实现DHCP自动分配、HTTP服务和免密登录
  • 【数据结构(三)】单向环形链表和约瑟夫问题(3)
  • trzsz支持文件拖动到终端进行上传,类似lrzsz
  • 后端返回 date 时间日期格式为 UTC 格式字符串,形如 2022-08-11T10:50:31.050+00:00前端如何修改为yyyy-mm-dd
  • 公司电脑文件透明加密、防泄密管理软件系统
  • ASP.NET限流器的简单实现
  • 贝锐蒲公英路由器X4C如何远程访问NAS?