技术层
1.SVN上传时出现冲突的解决:找到相对应的文件对应的层,将这层下面的多余文件删除即可。
2.@Transactional:代表Spring事务控制,独立事务的注解。详情见:https://blog.csdn.net/mingyundezuoan/article/details/79017659
3.对于外层的try catch ,当try里面的内层方法抛出异常时,如何将抛出异常后要执行的代码在外层catch中继续执行:可以在外层try catch 上面实例化一个对象,将其传值到try里面的方法,传入里层方法中执行,最后就可以在catch中调用实例化的对象了。
举个例子:
FunClrBook funClrBook = new FunClrBook();//在外层实例化就可以解决问题
try{
pubManager.clr(request,funClrBook);//带进去执行,可以对其进行set操作
}catch{
funClrBookDao.insert(funClrBook);//当抛出异常后就可以执行这段代码了
HandException(request,e);
}
也可以在内层中一大块代码块使用try catch 当抛出异常时,把该执行的代码放到catch中执行就可以了。
4.当有注解@Transactional抛出异常时回滚:在manager层中会对数据库的增删改查操作出现回滚,导致当出现异常时无法将数据插入数据库。。这是要非常注意的点。
5.异步单元测试:当进行debug进行单元测试时,可以在每层打断点,一步一步执行,找出具体那条语句出现问题。当异步(代码块的执行顺序不确定,有可能最后执行完刚开始的代码块)的时候,可使用睡眠来慢慢的执行debug单元测试。
具体如下:
try{
Thread.sleep(100000);
}catch (InterruptedException e){
//TODO Auto-generated catch block
e.printStackTrace();
}
6.@Data :有这个注解就可以直接定义属性字段,不用有set…get…了。
7.Mybatis在Dao层增删改查都已经封装好了,对于基层的Mybatis确实了解不多,这将是下一步学习的重点。还有对于mapper层的sql语句的理解与接口设计等
8.对于for循环格式的学习,比如针对于List,参考:https://blog.csdn.net/zhuchenglin830/article/details/87161669
差不多就这些,路漫漫长修远兮,我将上下而求索。
业务层
1.不管什么流水号可以在ContextUtil获取。
2.关于付款方的四个字段只能从交易表中获取,因为可能是不同接口对应的字段在绑定表中,所以如果是在绑定表取,可能会出错。
具体的不便于透露哦,只是共识业务列举一下。