1. 程式人生 > >SpringBoot開發案例之整合Dubbo提供者(二)

SpringBoot開發案例之整合Dubbo提供者(二)

 

小柒2012 2017-07-18

摘要: 大家有沒有注意到,上一篇中提供者,暴露介面的方式?混搭。springboot本身介面實現使用了註解的方式,而Dubbo暴露介面使用的是配置檔案的實現方式,即如下: 程式碼: import org.springframework.

00

大家有沒有注意到,上一篇中提供者,暴露介面的方式?混搭。springboot本身介面實現使用了註解的方式,而Dubbo暴露介面使用的是配置檔案的實現方式,即如下:


程式碼:

import org.springframework.stereotype.Service;
//注意這裡使用的是spring的註解
@Service("userService")
public class UserServiceImpl implements IUserService {
    @Override
    public void saveUser(User user) {
        System.out.println("儲存使用者:"+user.getUsername());
    }
}

配置:

<!-- 宣告需要暴露的服務介面 -->
<dubbo:service interface="com.itstyle.dubbo.service.IUserService" ref="userService"/>

如果以上使用spring註解,我們必須開啟掃描:

@ComponentScan(basePackages={"com.itstyle.dubbo"})

當然,如果你不想使用註解,全配置實現:

<bean id="userService" class="com.itstyle.dubbo.service.impl.UserServiceImpl"/>
<!-- 宣告需要暴露的服務介面 -->
<dubbo:service interface="com.itstyle.dubbo.service.IUserService" ref="userService"/>

好吧,其實在這個註解走天下的年代,顯然配置已經落後了半個世紀,下面是全註解實現:

首先我們要在dubbo.xml配置以下程式碼:

<!-- 使用註解方式暴露介面 -->     
<dubbo:annotation package="com.itstyle.dubbo" />

修改UserServiceImpl.java:

import com.alibaba.dubbo.config.annotation.Service;
import com.itstyle.dubbo.domain.User;
import com.itstyle.dubbo.service.IUserService;
//這裡引用阿里巴巴的註解配置
@Service
public class UserServiceImpl implements IUserService {
    @Override
    public void saveUser(User user) {
        System.out.println("儲存使用者:"+user.getUsername());
    }
}

這時候,我們再次執行SpringbootDubboApplication類,可以正常執行,並且成功註冊到zookeeper。

專案:http://git.oschina.net/52itstyle/springboot_dubbo_provider

作者: 小柒

出處: https://blog.52itstyle.com

本文版權歸作者和雲棲社群所有,歡迎轉載。

原文位置:https://yq.aliyun.com/articles/131865?utm_content=m_27032