springBoot整合dubbo
1、pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>${dubbo-springboot.version}</version>
</dependency>
2、新建config包
import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import com.alibaba.dubbo.config.spring.ReferenceBean;
import com.alibaba.dubbo.config.spring.context.annotation.DubboComponentScan;
import com.netease.it.gaia.asset.common.service.GaiaAssetService;
import com.netease.it.gaia.user.common.service.GaiaLocationCodeService;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author tobiasy
* @date 2018/11/6
*/
@Configuration
@DubboComponentScan("com.netease.it.springboot")
public class DubboConfig {
/**
* 当前应用配置
*/
@Bean("springboot-dubbo")
public ApplicationConfig applicationConfig() {
ApplicationConfig applicationConfig = new ApplicationConfig();
applicationConfig.setName("springboot-dubbo");
return applicationConfig;
}
/**
* 当前连接注册中心配置
*/
@Bean("commonRegister")
@Qualifier("commonRegister")
public RegistryConfig commonRegister() {
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setId("dev");
registryConfig.setProtocol("zookeeper");
registryConfig.setAddress("10.246.84.23:4180,10.246.84.23:4181,10.246.84.23:4182");
registryConfig.setTimeout(60000);
return registryConfig;
}
@Bean("testRegister")
public RegistryConfig testRegister() {
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setId("test");
registryConfig.setProtocol("zookeeper");
registryConfig.setAddress("10.246.84.24:4180,10.246.84.24:4181,10.246.84.24:4182");
registryConfig.setTimeout(60000);
return registryConfig;
}
@Bean
public ReferenceBean locationCodeService(@Qualifier("commonRegister") RegistryConfig registryConfig) {
ReferenceBean referenceBean = new ReferenceBean();
referenceBean.setRegistry(registryConfig);
// referenceBean.setId("locationCodeService");
referenceBean.setInterface(GaiaLocationCodeService.class);
referenceBean.setVersion("dev-xfm");
return referenceBean;
}
@Bean
public ReferenceBean gaiaAssetService() {
ReferenceBean referenceBean1 = new ReferenceBean();
referenceBean1.setRegistry(commonRegister());
// referenceBean1.setId("gaiaAssetService");
referenceBean1.setInterface(GaiaAssetService.class);
referenceBean1.setVersion("dev-xfm");
return referenceBean1;
}
}
3、新建controller
import com.netease.it.gaia.asset.common.service.GaiaAssetService;
import com.netease.it.gaia.user.common.service.GaiaLocationCodeService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
/**
* @ClassName: BaseController
* @author: hzdengxuekai
* @date: 2016/12/22 13:22
*/
@RestController
public class BaseController {
private static final Logger logger = LoggerFactory.getLogger(BaseController.class);
// @Reference(version = "dev-xfm", registry = "dev")
@Resource
private GaiaLocationCodeService locationCodeService;
// @Reference(version = "qa", registry = "test")
@Resource
private GaiaAssetService gaiaAssetService;
@RequestMapping(value = "test", method = RequestMethod.GET)
public Object home() {
logger.info("springboot 请求正常进入。。。");
return locationCodeService.queryAllLocationCode();
}
@GetMapping("dubbo")
public Object dubbo() {
Map<String, Object> map = new HashMap<>(2);
// map.put("locationCode", locationCodeService.queryAllLocationCode());
map.put("asset", gaiaAssetService.queryAssetByAsstSn("KLIH-PDA-NGB10077"));
return map;
}
}
4、在启动类上面添加注解
@EnableDubbo @EnableDubboConfig
5、启动入口类,完成整合!

浙公网安备 33010602011771号