白盒测试积累
了解Java项目关键字 (部分参考网上)
在一般工程中,基本上都会出现controller、service、impl、Dao等关键字,来说下这些关键字之间的联系
Controller:负责具体的业务模块流程控制,在此层里面要调用Service层的接口来控制业务流程,控制的配置是在Spring的配置文件里面进行,针对具体的业务流程,会有不同的控制器。
Service:Service层主要负责业务模块的逻辑应用设计。同样是首先设计接口,再设计其实现的类(impl),接着再Spring的配置文件中配置其实现的关联。Service层的业务实现,具体要调用到已定义的Dao层的接口。
Dao:Dao层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,Dao层的设计首先是设计Dao的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,Dao层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。
在项目中的使用情况,由于业务逻辑很简单,所以每个文件中的代码行数都很少
controller.java
/* 资产rim项目信息报表 */
@RequestMapping(value = "/hls/cus/rpt/rim/project/detail/query")
@ResponseBody
public ResponseData rptRimProjecrDetailQuery(@RequestBody Map map) {
return new ResponseData(hlsCusRptRimProjectDetailService.rptRimProjectDetailQuery(map));
}
service.java
public interface HlsCusRptRimProjectDetailService extends IBaseService<HlsCusRptRimProjectDetail>,ProxySelf<HlsCusRptRimProjectDetailService> {
List<Map> rptRimProjectDetailQuery(Map map);
}
serviceImpl.java
@Override
public List<Map> rptRimProjectDetailQuery(Map map) {
int page = Integer.parseInt(String.valueOf(map.get("page")));
int pageSize = Integer.parseInt(String.valueOf(map.get("pageSize")));
PageHelper.startPage(page,pageSize);
return hlsCusRptRimProjectDetailMapper.rptRimProjectDetailQuery(map);
}
mapper.java
public interface HlsCusRptRimProjectDetailMapper extends Mapper<HlsCusRptRimProjectDetail> {
List<Map> rptRimProjectDetailQuery( Map<String, Object> map);// 资产rim表项目信息报表
}
Kafka消息规范:定义枚举或说明
日志记录的规范