nutz,今晚来一发(16): 类标注了@IocBean和@Inject,然后new到的对象无注入?
nutz群隔三差五就会有人问为啥XXX没有注入, 以下是对话的截图: 声明一下, 下面的截图只是为了说明问题, 无其他含义. 有时候我会想, 一个用Spring注解标注的类, 如果new出来,难道就能注入?? 不解求解释 提问: 一个对象标注了注解,到底发生了什么事? 为啥new出来的对象没有注入?? --------------------------------------上期的分割线------------------------- 上期答案: 会 会 不一定 dao1会无法回滚 原因: A. Trans里面的事务在run方法结束后(即用户代码执行完毕后)提交. ----------> 所以: run方法内抛出异常, dao1/dao2均回滚. 也就能得出第1/2题的答案 B. Trans使用的不是JTA或XADataSource. JTA或XADataSource, 会使用二阶段提交, 即prepareCommit和commit. 首先对2个数据源执行prepareCommit, 完成后, XA驱动会确保commit操作总是成功的(好吧,其实也只是理论上,鬼知道会不会网络出错,文件系统异常, 宇宙粒子打中数据点). -----------> 所以, 会出现 dao1提交成功后, dao2提交失败. 这时候dao1已经不能回滚. 虽然这几率很小, 但它的确存在.