@Transactional注释的函数在函数开始时就占用session,不是在执行第一条db操作时才打开session
因为一直占用session,必要时需要考虑把耗时的代码尽量移出去
一个bean调用另一个bean的@Async函数,该@Async函数才是在另一个线程执行
如果一个bean自己的函数调用自己的@Async函数,@Async函数不会在另一线程中执行,自己调用自己的不会使用代理,请见: