# java代码规范

原则上要求所有依赖需要满足以下要求：

1. springboot 项目父项目应为 hb_springboot_parent 项目，出门左转可以找到

2. 项目依赖版本应该与 hb_springboot_parent 相同，如果parent项目未包含依赖，需首先添加到parent项目。

如果遇到依赖冲突，需首先考虑解决，其次才考虑更换低版本依赖。

3. 要求所有最新项目与最新版本的 hb_springboot_parent 依赖版本相同

4. 原则上要求有源码的改写项目将依赖版本同步到 hb_springboot_parent 依赖版本，如果遇到特殊情况可以特殊考虑。

5. 对已完成且正常运行未扫描到漏洞的项目可以不考虑。


## 关于实体类的要求

实体类可能面临3种情况

1. 需要持久化(存入数据库或其他形式) -- 与数据库表对应
2. 参与前端或接口交互 -- 不与数据库表对应,但可能参与dao逻辑
3. 不持久化也不参与前端或接口交互,仅存在于代码逻辑

建议:

存在需求1 --> pojo
不存在需求1,存在需求2 --> vo
仅存在需求3 --> entity

尽量采用lombok

## 代码目录结构

代码目录结构 com.nokia 后面加一层代表project简单说明的目录

```xml
<groupId>com.nokia.sms</groupId>
<artifactId>sgip_sms_server</artifactId>
<version>1.0</version>

<parent>
    <groupId>com.nokia</groupId>
    <artifactId>hb_springboot_parent</artifactId>
    <version>1.0</version>
    <relativePath />
</parent>
```
