2022-12-07 18:14:38 +08:00
|
|
|
|
# PlusoneAdmin
|
|
|
|
|
|
|
|
|
|
后台管理系统 +1
|
|
|
|
|
|
|
|
|
|
本仓库是后端部分,使用 Spring Boot 2.X 进行开发,对前端提供接口。
|
|
|
|
|
|
|
|
|
|
简单落地 DDD。
|
|
|
|
|
|
|
|
|
|
- JDK 17
|
|
|
|
|
|
|
|
|
|
- 主要使用 Spring JDBC 的 NamedParameterJdbcTemplate 进行数据的查询和持久化,因为感觉有更多的自由度。可以根据 ResultSet,任意按照需要的方式实例化 Entity。MyBatis 在某些地方用于查询。
|
|
|
|
|
|
|
|
|
|
- 数据库使用的是 PostgreSQL;
|
|
|
|
|
|
|
|
|
|
- 权限管理使用的是 Sa-Token,使用 Redis 共享 Session。
|
|
|
|
|
|
|
|
|
|
- 短信服务使用的是腾讯云的 SMS 服务。后续将其解耦,使实现等各方面可替换为阿里云或其它 SMS 服务。
|
|
|
|
|
|
|
|
|
|
目前项目还没完成,开发中……
|
|
|
|
|
|
2023-04-19 19:24:00 +08:00
|
|
|
|
相关的文档和介绍完善中……
|
|
|
|
|
|
|
|
|
|
## 编码规约
|
|
|
|
|
### 关于 null
|
|
|
|
|
1. 方法默认参数不为 `null`,**可以**在 Javadoc 中对参数进行说明,如“...(must not be {@code null}[ or empty string])”。方法内部**必须**做参数校验,如使用 Assert 等工具类。
|
|
|
|
|
2. 如果参数允许为空,**必须**为参数添加 `@Nullable` 注解,并在 Javadoc 中对参数进行说明,如“...(may be {@code null})”。
|
|
|
|
|
3. 除极特殊的情况,方法默认**不返回 `null`**,如可能返回一个对象表示值的缺失,则**必须**使用 `Optional`,**绝不在返回类型为 Optional 的方法中返回 `null`**。
|
|
|
|
|
4. 在极其特殊的情况下,方法需要返回 `null`,**必须**给方法加上 `@Nullable` 注解,并在 Javadoc 中详细说明。
|