Spring事务失效的 8 大原因
摘要:用 Spring 的 @Transactional 注解控制事务有哪些不生效的场景? 其中有个热心粉丝留言分享了下,我觉得总结得有点经验,给置顶了: @Transactional不生效的场景 1.数据库引擎是否支持事务(MySql的MyIsam引擎不支持事务)。 2.注解所在的类是否被加载成Bean
阅读全文
Spring 如何在一个事务中开启另一个事务?
摘要:这样的情景可能不常见,但是还是会有的,一旦遇到,如果业务比较复杂,就会很麻烦,但是还是有解决的方案的,比如将一个service方法拆成两个方法,也就是将两个操作的事务分开。 但是这只适用与业务比较简单的,如果出现多次数据库的写操作,而我们调用的系统只需要其中一个写操作的最新数据,如果我们将它分开,那
阅读全文
Spring 的 @Primary 注解
摘要:简单的说,就是当Spring容器扫描到某个接口的多个 bean 时,如果某个bean上加了@Primary 注解 ,则这个bean会被优先选用,如下面的例子: @Component public class FooService { private FooRepository fooReposito
阅读全文
JdbcTemplate 和 mybatis 的对比
摘要:好处: 1. jdbcTemplate 是spring对 jdbc操作数据库进行的封装,使得开发者可以直接在java文件中 编写sql,无需配置xml文件。 2. 简单效率快 缺点: 1. 使用时创建连接,不使用时立即释放。频繁的连接开启和关闭造成资源的浪费,影响数据库的性能。 解决办法:使用数据库
阅读全文
spring jdbcTemplate使用queryForList示例
摘要:查询代码: LogVo 日志要显示的内容(Log的部分或者全部列) Log是日志完整的实体 public List<LogVO> findLogByDate(String startDate,String endDate) { JdbcTemplate jdbcTemplate=(JdbcTempl
阅读全文
spring cache 学习 —— @Cacheable 使用详解
摘要:1. 功能说明 @Cacheable 注解在方法上,表示该方法的返回结果是可以缓存的。也就是说,该方法的返回结果会放在缓存中,以便于以后使用相同的参数调用该方法时,会返回缓存中的值,而不会实际执行该方法。 注意,这里强调了一点:参数相同。这一点应该是很容易理解的,因为缓存不关心方法的执行逻辑,它能确
阅读全文