Skip to content
This repository has been archived by the owner on Jun 5, 2024. It is now read-only.

suyiiyii/HLS_Dinner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tips

该项目为参与校内工作室的考核项目

Servlet Learn Project

Description

一个简单的Servlet学习项目

Features

  • 采用MVC架构,业务逻辑与接口与数据库操作分离
  • 使用JDBC连接池,自动扩缩容
  • 使用手写的orm框架,实现了简单的增删改查,简化了数据库操作
  • 登录验证使用jwt
  • 使用过滤器实现异常统一处理,登录验证
  • 全程保证线程安全
  • 使用统一的异常处理,返回json格式的错误信息
  • 使用自建的k8s集群部署,自动扩缩容,保证高可用
  • 使用TiDB作为数据库,保证数据的高可用
  • 使用redis作为分布式锁,保证数据一致性
  • 使用了RESTful风格的API,接口简洁明了
  • 用了Apifox,清晰的传达了接口的信息,便于前后端协同开发

疑问

  • 有必要同时存在Model和schema吗?(对于数据库的映射和对于接口数据的映射,还是说有其他方法把请求中的json转换成java内部的数据结构)
  • Service 层和 Dao 层方法重叠,Service 层通常只是转发给Servlet层,能不能省略?
  • Servlet怎么做单元测试?
  • 怎么真正实现IOC容器和DI?(注入时根据信息通过有参构造函数新建对象)
  • AOP是什么,怎么实现?
  • 一般的数据库的QPS是多少,一般服务的QPS有多少

待改进的地方

  • 手写的orm不支持join,查询关联数据时需要多次查询
  • Service层和Dao层区分不够明显

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published