spring的事务管理配置在DAO层,但是可以在service层使用 这是为什么?@Transactional 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 配在Service层比较科学吧。 当然可以用啦,事务的实质就是要你操作数据库时从一而终,要么全部完成,要么回滚撤销所有操作,在dao层的方法对数据库的操作通常来说是简单的,没业务逻辑性的,所以对于这种加了一个事务也可以,但没必要;但在service层,里面的方法通常是包含一些复杂逻辑的,一个方法可能就调用了dao的多个方法,所以就必须做到事务管理,要么service方法里面的dao方法全部执行,要么全部撤销。这样才能保证数据库数据的正确性。 我们的SERVICE和DAO是分开的两个工程功过maven产生依赖,然后是把事务配置在了DAO层,但是在SERVICE可以使用 。真心看不懂 一般建议是在Service层使用的,至于为什么,相信你看了楼上的回答已经有了清晰的了解了,同时不是说你配置了@Transactional就起了作用的,也可能是其他的配置影响了,你把你的配置的代码贴上来看看了! 对于 Spring 来说不存在什么 service 层和 dao 层!在这两层上的 @Transactional 对于 Spring 而言只是一样的东西 我记得Spring开发团队建议在service中使用这个注解——@Transactional @Transactional 是spring的事务 怎么不能使用 哪里提到过?文档里面? Spring团队的建议是你在具体的类(或类的方法)上使用 @Transactional 注解,而不要使用在类所要实现的任何接口上。你当然可以在接口上使用 @Transactional 注解,但是这将只能当你设置了基于接口的代理时它才生效。因为注解是 不能继承 的,这就意味着如果你正在使用基于类的代理时,那么事务的设置将不能被基于类的代理所识别,而且对象也将不会被事务代理所包装(将被确认为严重的)。因此,请接受Spring团队的建议并且在具体的类上使用 @Transactional 注解。——引用自http://blog.csdn.net/defonds/article/details/6888311 配置到Dao层意义不大吧 请问下,Spring+JdbcTemplate怎么配置多个数据库的事务管理??在线等,急!!! @Transactional 这个是spring注解 不是应该放在services层的吗 为什么要放在dao层 其实在哪实现都行,重点是好的分层,对于代码的维护更简单一些,DAO专门管数据层,service专门做业务逻辑,action专门做请求转发处理。 看到这里终于认清DAO SERVICE ACTION的这些层该如何用了 一道竞赛题目、、求各种答案、、来牛人 求教枚举的使用问题 用正则表达式取字符串 java的单例模式在swing遇到问题 求:java2图形设计卷I(AWT),II(SWING)电子版 可能是classpath的问题 请教如何取得当前系统时间 jsp页面引用参数的问题? main方法--新手的问题 DWRSession过期拦截,通过继承实现 DWRSessionServiceextendsDefaultRemoter 登陆时如何绕过这个验证 关于for(String f : A)错误,请大家帮助 求教关于socket问题
Spring团队的建议是你在具体的类(或类的方法)上使用 @Transactional 注解,而不要使用在类所要实现的任何接口上。你当然可以在接口上使用 @Transactional 注解,但是这将只能当你设置了基于接口的代理时它才生效。因为注解是 不能继承 的,这就意味着如果你正在使用基于类的代理时,那么事务的设置将不能被基于类的代理所识别,而且对象也将不会被事务代理所包装(将被确认为严重的)。因此,请接受Spring团队的建议并且在具体的类上使用 @Transactional 注解。——引用自http://blog.csdn.net/defonds/article/details/6888311