美文网首页
2018-08-07 阅读活动平台1.0开发记录

2018-08-07 阅读活动平台1.0开发记录

作者: 江江江123 | 来源:发表于2018-08-24 09:46 被阅读0次

    平台架构:springboot模块

    parents,util,model,mapper,service,controller

    使用技术汇总:

    vue.js,layer.ui,webuploader,redis,Json

    经验:

    1.没有前端页面可以先写数据

    2.json序列化前后端交互:前端ajax提交json字符串,后台接受数据,fastJson解析数据,处理后,再返回json数据,前端再接受

    3.如果参数过多可以封装成bean

    4.mybits的sql可以再navicat写好后粘贴过来

    5.一定要尽可能少的调用mapper,每一次数据库操作都是进程通信,严重影响程序性能,高并发下,可能导致连接池不够用,程序挂掉。所以一定不要for循环mapper

    6.再初拿到页面,可以先思考需要哪些模块;比如,如果有文件上传,可以思考使用哪个上传工具,上传之后的回显又用哪些工具;文件列表的筛选项有哪些;当把这些工具一个个实现完成,到后面只需要微改就可以复用,可以提高开发效率

    7.枚举的使用:简单来说,枚举类其实就是一个普通的类,但是它事先定好几个已知的类,通过get方法获取类中的数值

    8.resultapi:我们需要返回统一的json数据结构,所以要事先定义好返回的json类,一般包状态码code,返回信息msg及数据data,springmvc自带返回json的注解,所以只要返回自定义的jsonBean即可;同时ajax要对各种状态进行相应处理。

    9.整套的异常处理:

    9.1所有的tryCatch都应该在controller捕获,如果异常返回对应的errBean,因为service层中我们会在增删改上使用事务的注解,而事务的注解触发需要运行时异常,如果trycatch捕获了运行时异常 ,事务就不会触发。
    9.2但是在查询时可以在Service使用tryCatch来解决一些小问题,比如点赞数等,这些数据存在缓存中,拿到拿不到都不该影响整体的查询;
    9.3总体来说,异常的处理就是在service层上抛,controller捕获处理

    10.redis缓存:springboot代redis模版,可以直接拿来使用;使用中要注意数据类型转换容易出问题;使用redis链接时,本地需要装redis客户端

    11.尽可能把业务都拉到service层处理,controller来显示界面跳转

    12.使用vue可以提高开发效率,静态展示数据还是可以用themleaf处理,但是动态交互数据,vue真的十分强大

    13.写完代码回头看看。。很多是可以优化的

    14.将不同的操作写在不同的controller中可以方便的加拦截器

    15.model中不一定要和数据库一一对应,可以适当增添临时字段,如果为了解决一类问题,有些model可以实现相同接口

    16.校验需要在前后台都加,如果觉得很麻烦,就把不同类型的校验封装成方法,重复调用。

    坑:

    1.使用pageHelper插件,如果在mybits中写left join查询会导致数据总数过多,原因是sql的笛卡儿积;解决方法,关联查询在service层分成2步,先查主体,再通过主体的id,去从表查询,从表的id 再sql中用in查询

    2.vue模块中``在ie中目前不兼容。。

    3.用户不能操作的功能,还是隐藏了比较好

    4.如果可以尽可能不要修改别人js的源码

    待续。。。

    相关文章

      网友评论

          本文标题:2018-08-07 阅读活动平台1.0开发记录

          本文链接:https://www.haomeiwen.com/subject/rulavftx.html