下午發現的問題,晚上我把userDao和userService的定義移到了dataAccessContext-jdbc.xml后,事物又有效了。看來網友的分析是對的,事物沒有啟動是因為bean的加載的原因。但是這樣的話感覺不是很爽了,一部分是xml文件,一部分是注釋。繼續找好的辦法搞定這個問題。
<bean id="userDao" class="com.example.springdemo.dao.impl.UserDAOImpl" />
<bean id="userService" class="com.example.springdemo.service.impl.UserServiceImpl" />
至于java類中還是保持@Autowired的注釋。