源码|第11期学生住宿管理系统+程序设计文档

实现了一套学生住宿管理系统。此管理系统被设计成一个采用B/S架构的Web应用程序,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。此系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的人机交互、信息修改功能,能够快速的查询到所需要的学生住宿信息。
源码|第11期学生住宿管理系统+程序设计文档
文章图片

源码|第11期学生住宿管理系统+程序设计文档
文章图片

源码|第11期学生住宿管理系统+程序设计文档
文章图片

{@Override public boolean supports(MethodParameter returnType, @NonNull Class> aClass) { // 如果接口返回的类型已经是LayuiResult,则无需转换 val returnTypeName = returnType.getGenericParameterType().getTypeName(); val layuiResultTypeName = LayuiResult.class.getTypeName(); return !returnTypeName.startsWith(layuiResultTypeName); // 前者包含泛型信息,后者不包含,所以用startsWith而不是equals }// String =>beforeBodyWrite(包装成LayuiResult,手动转json) => String; // 其它 =>beforeBodyWrite(包装成LayuiResult) => LayuiResult => springMVC自动转json => String; @Override public Object beforeBodyWrite(Object data, @NonNull MethodParameter returnType, @NonNull MediaType mediaType, @NonNull Class> aClass, @NonNull ServerHttpRequest serverHttpRequest, @NonNull ServerHttpResponse serverHttpResponse) { // 如果controller层中返回的类型是String,那么springMVC在选择处理MessageConverter时会选择StringMessageConverter。 // 问题在于StringMessageConverter只接受String类型,不能处理包装后的LayuiResult类型,所以要转成json字符串作为返回值 if (data instanceof String) { // String类型 val objectMapper = new ObjectMapper(); try { // 将数据包装在LayuiResult里后,再转换为json字符串响应给前端 val result = new LayuiResult<>(LayuiResult.ResultCode.SUCCESS, null, Collections.singletonList((String) data)); return objectMapper.writeValueAsString(result); } catch (JsonProcessingException e) { throw new ApiException(); } } else if (data instanceof Page) { // Page类型 return new LayuiResult<>((Page) data); } else { // 其它的对象类型 List objectList; if (data =https://www.it610.com/article/= null) { objectList = Collections.emptyList(); } else { objectList = Collections.singletonList(data); } return new LayuiResult<>(LayuiResult.ResultCode.SUCCESS, null, objectList); } } }
源码|第11期学生住宿管理系统+程序设计文档
文章图片

【源码|第11期学生住宿管理系统+程序设计文档】微信搜:猿码仓库

    推荐阅读