摘要:
//重点关注的是@Transactional注解和TransactionAspectSupport.currentTransactionStatus().setRollbackOnly()@Override @Transactional(rollbackFor = RuntimeException. 阅读全文
摘要:
1. 禁止使用select * 阿里开发规范中,有这么一句话: **select *** 会查询表中所有字段,如果表中的字段有更改,必须修改SQL语句,不然就会执行错误。 查询出非必要的字段,徒增磁盘IO和网络延迟。 2. 用小表驱动大表 关联查询的时候,先用小表查到结果,再用结果去大表查询,可以大 阅读全文
摘要:
between 边界:闭区间,not between 边界:开区间 日期边界问题,如:'2023-03-10 12:00:00','2023-03-13 12:00:00' 如果用 between '2023-03-10' and '2023-03-13' ,这样'2023-03-13 12:00: 阅读全文
摘要:
HashMap中将要存放的KV个数的时候,设置一个合理的初始化容量可以有效的提高性能 初始化集合时,阿里巴巴的开发手册当中也推荐指定容量 HashMap默认初始容量:16 (即2<<3) HashMap<String, Object> map = new HashMap<>(expectedSize 阅读全文
摘要:
《阿里巴巴Java开发规范》关于领域模型的部分介绍如下 分层领域模型规约: DO(Data Object):此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。 DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。 BO 阅读全文
摘要:
问题代码: List<User> user = null; 在使用List的addAll方法的时候,如果被添加的对象是null,就会报空指针异常,原因是只在栈中有引用而在堆中没有分配到内存空间 改为: List<User> user = new ArrayList<User>(); 问题解决 阅读全文
摘要:
StringBuffer stringBuilder=new StringBuffer("f7504588c65a4b99bc20cf1646f58ef1"); stringBuilder.insert(8,"-"); stringBuilder.insert(12,"-"); stringBuil 阅读全文
摘要:
目录 一、瞅一眼标准的AspectJ Aop的pointcut的表达式 二、SpringAop的十一种AOP表达式 三、演示使用 1、execution: 2、within: 3、this: 4、target: 5、args: 6、@target: 7、@args: 8、@within: 9、@an 阅读全文
摘要:
不同点 项过滤器拦截器使用场景对请求/响应进行修改、判断等。一般用于过滤参数、登录权限验证、资源访问权限控制、敏感词汇过滤、字符编码转换。在service或者一个方法前/后调用一个方法,或者在方法后调用一个方法。能力 可以拿到原始的http请求与响应,拿不到请求的控制器和请求控制器中的方法的信息。 阅读全文
摘要:
@Controller 注解一个类表示控制器,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View,Spring MVC会自动扫描标注了这个注解的类 @Cont 阅读全文