摘要: 工程结构(一)应用分层 所有内容摘自阿里巴巴的《Java开发手册-嵩山版》 【推荐】根据业务结构实践,结合业界分层规范与流行技术框架分析,推荐分层结构如图所示,默认上层依赖于下层,箭头关系表示可直接依赖,如:开发 API 层可以依赖于 Web 层(Controller 层),也可以直接依赖于 Service 层,依此类推: 阅读全文
posted @ 2021-09-10 16:32 超级鲨鱼辣椒 阅读(83) 评论(0) 推荐(0) 编辑
摘要: MySQL数据库(四)ORM映射 所有内容摘自阿里巴巴的《Java开发手册-嵩山版》 【强制】在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。 说明: 1)增加查询分析器解析成本。 2)增减字段容易与 resultMap 配置不一致。 3)无用字段增加网络消耗,尤其是 text 类型的字段。 【强制】PO 阅读全文
posted @ 2021-09-10 15:53 超级鲨鱼辣椒 阅读(94) 评论(0) 推荐(0) 编辑
摘要: MySQL数据库(三)SQL语句 所有内容摘自阿里巴巴的《Java开发手册-嵩山版》 【强制】不要使用 count(列名) 或 count(常量) 来替代 count(),count() 是 SQL92 定义的标准统计行数的语法,跟数据库无关,跟 null 和非 null 无关。 说明:count(*) 会统计值为 null 的行, 阅读全文
posted @ 2021-09-10 15:28 超级鲨鱼辣椒 阅读(49) 评论(0) 推荐(0) 编辑
摘要: MySQL数据库(二)索引规约 所有内容摘自阿里巴巴的《Java开发手册-嵩山版》 【强制】业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引。 说明:不要以为唯一索引影响了 insert 速度,这个速度损耗可以忽略,但提高查找速度是明显的;另外,即使在应用层做了非常完善的校验控制,只要没有唯一索引,根据墨菲定律,必然有 阅读全文
posted @ 2021-09-10 13:58 超级鲨鱼辣椒 阅读(61) 评论(1) 推荐(0) 编辑
摘要: MySQL数据库(一)建表规约 所有内容摘自阿里巴巴的《Java开发手册-嵩山版》 【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint(1 表示是,0 表示否)。 说明:任何字段如果为非负数,必须是 unsigned。 注意:POJO 类中的任何布尔类型的变量,都不要加 阅读全文
posted @ 2021-09-10 13:24 超级鲨鱼辣椒 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 安全规约 所有内容摘自阿里巴巴的《Java开发手册-嵩山版》 【强制】隶属于用户个人的页面或者功能必须进行权限控制校验。 说明:防止没有做水平权限校验就可随意访问、修改、删除别人的数据,比如查看他人的私信内容。 【强制】用户敏感数据禁止直接展示,必须对展示数据进行脱敏。 说明:中国大陆个人手机号显示:139* 阅读全文
posted @ 2021-09-10 11:19 超级鲨鱼辣椒 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 单元测试 所有内容摘自阿里巴巴的《Java开发手册-嵩山版》 【强制】好的单元测试必须遵守 AIR 原则。 说明:单元测试在线上运行时,感觉像空气(air)一样感觉不到,但在测试质量的保障上,却是非常关键的。好的单元测试宏观上来说,具有自动化、独立性、可重复执行的特点。 A:Automatic(自动化) I: 阅读全文
posted @ 2021-09-10 10:36 超级鲨鱼辣椒 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 异常日志(三)日志规约 所有内容摘自阿里巴巴的《Java开发手册-嵩山版》 【强制】应用中不可直接使用日志系统(Log4j、Logback)中的 API,而应依赖使用日志框架(SLF4J、JCL--Jakarta Commons Logging)中的 API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。 阅读全文
posted @ 2021-09-10 09:58 超级鲨鱼辣椒 阅读(144) 评论(0) 推荐(0) 编辑