1. 关于业务逻辑层
业务逻辑层,也称之为“业务层”(Service Layer),主要:设计业务流程,处理业务逻辑,以保证数据的完整性和安全性。
业务层应该由接口(原因后续再解释)和实现类这2种文件组成!
关于Service中的方法的定义:
- 返回值类型:仅以操作成功为前提来设计
- 方法名称:自定义
- 参数列表:通常是控制器调用时传入,典型的参数就是客户端提交的请求参数
- 异常:处理业务时可能的“失败”,通常,使用
RuntimeException
或其子孙类异常,所以,在声明业务方法时,并不需要显式的声明抛出异常
关于异常,如果使用现有的异常(例如NullPointerException
等),可能会产生歧义,所以,通常会自定义异常,继承自RuntimeException
。
如果在项目中只使用1种异常类型,不便于不区分同一个业务可能出现的多种“错误”,所以,应该在异常类型中添加某个属性,来区分多种“错误”!关于此属性,可以是int
、String
等各种你认为合适的类型,但是,这些类型的取值范围(值的可能性)非常大,为了限制取值,可以使用枚举类型,例如:
public enum ServiceCode {
ERR_INSERT(1), ERR_UPDATE, ERR_DELETE;
}
如果仅仅只是以上代码,当尝试输出某个枚举值,输出的结果就是以上名称,例如ERR_INSERT
,不便于获取此值时编写条件判断相关的代码,通常,使用数值进行判断会更加方便,所以,可以为以上每个枚举值指定相关的数值,同时,需要添加枚举的构造方法,例如:
public enum ServiceCode {
ERR_INSERT(1),
ERR_UPDATE(2),
ERR_DELETE(3);
ServiceCode(int value) {