业务开发(二)—— Spring框架
0x01、使用枚举类,在MyBatis中
到了mapper.xml文件那里,如Status要与1进行对比,而不是1所对应的枚举字符串。
0x02、分页
Dao获取到的记录数,在Controller层放到PageModel的pageCount中,达到分页的目的。
0x03、controller层规范
如果有很多model.addAttribute();,就要考虑用一个vo来放。
Service层不应该出现单纯只有一句dao的方法,vo的封装是在service层进行的。
0x04、Service层规范
Service层中只可以用属于该层的Dao,而不能使用其他层的Dao,例如XService中应该出现
Controller层尽可能只负责请求的跳转,所有的业务尽可能在Service层写
XDao,而不应该出现YDao、ZDao,取而代之的应该是YServcie、ZService
0x05、@Autowire与@Resource的区别
前者是按类型装配,后者按照名字装配。什么是按类型装配,如何装配。
0x06、前端的分页功能
Mode类要继承PageModel,并且查询出来总记录数之后,要set到count中,其次前端要通过id标记好分页的位置,以及写js进行对标签添加链接。pageSize要在PageModel中设置,当它为空的时候就赋给它最大值,当返回给前端的时候,它就是最大值。
0x007、connection holder is null
<!-- 清除无用连接的等待时间 -->
<property name="removeAbandonedTimeout" value="180" />
将数值改大一点
0x08、ArtifactDescriptorException: Failed to read artifact descriptor for avalon-framework:avalon-framewor
照着这个搞
http://blog.csdn.net/qin_zhimou/article/details/45618417
0x09、带事务注解的方法中加入启动线程
0x10、带事务注解的方法中加入一个带事务注解的方法(事务传播)
0x11、redirect跳转显示302错误,会导致进入没有权限的提示页面
因为返回的路径,需要Model这样的参数
0x12、对象的命名
model.addAttribute("account-info", ui);
不要给对象起这种奇葩的名字,因为到了前台去
${account-info.userName}
需要这样给调用出来,前台会认为一个account对象 - info对象的userName属性
0x13、400异常
Required String parameter 'email' is not present
controller的方法中需要传入一个email,而email并没有传过去
0x14、There is already 'agentController' bean method
controller中存在两个映射路径相同的方法,改掉其中一个映射路径名即可。
0x15、控制台打印出现NotFoundClass
如果不是代码的问题,就用Maven Update一下就好。
0x16、Vo、Dto区别
DTO代表服务层需要接收的数据和返回的数据,而VO代表展示层需要显示的数据。
16、The JSP specification requires that an attribute name is preceded by whitespace
<c:forEach begin="1" end="5">
它会定位到jsp代码的第多少行
关于作者
后端程序员,五年开发经验,从事互联网金融方向。技术公众号「清泉白石」。如果您在阅读文章时有什么疑问或者发现文章的错误,欢迎在公众号里给我留言。