加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在Spring注释配置中使用@Service与@Service进行交互

发布时间:2020-12-15 01:21:35 所属栏目:大数据 来源:网络整理
导读:我只是听不懂.是否通过@Transaction批注将@Serviced标记为@Serviced并在@ContextComponent中在应用程序上下文中注册的bean,以提供事务支持? 这工作正常: public class LocationManagerImpl implements LocationManager { @Transactional public void saveL

我只是听不懂.是否通过@Transaction批注将@Serviced标记为@Serviced并在@ContextComponent中在应用程序上下文中注册的bean,以提供事务支持?

这工作正常:

    public class LocationManagerImpl implements LocationManager {

        @Transactional
        public void saveLocation(Location location) {

        }

    }

//config class

@Bean
public LocationManager locationManager() {
    return new LocationManagerImpl();
}

这不是:

@Service
public class LocationManagerImpl implements LocationManager {

    @Transactional
    public void saveLocation(Location location) {

    }

}
最佳答案
问题可能是您的@Transactional带注释的类位于servlet上下文中.如果您具有< context:component-scan>在servlet应用程序上下文配置中,而Spring AOP拦截器在根应用程序上下文中配置.

解决方案是将带@Service注释的类移至根Web应用程序应用程序上下文.

参见Spring @Transactional not working.

Servlet和Web App Root上下文之间的区别:
Difference between applicationContext.xml and spring-servlet.xml in Spring Framework.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读