在Dubbo生產者端暴露服務的方式有兩種,一種是傳統的xml配置標籤方式,還有一種是使用@Service註解方式。
在使用@Service註解的過程中,踩了很多坑,給大家分享一下。
會導致@Service註解無效的原因大致有以下幾點:
1、@Service註解的業務邏輯對象中有@Transactional註解。因爲目前dubbo版本中,被事務代理的業務邏輯對象不能通過使用@Service註解暴露服務,因爲被cglib或者Java Proxy代理的類不能被dubbo的annotation掃描到@Service註解。
2、未添加dubbo的annotation標籤。
<dubbo:annotation package="com.yykj.mall.service"/>
3、使用了錯誤的@Service註解,Spring中也有@Service註解,所以要看清楚@Service註解是否是dubbo包中的。