SpringBoot-注解方式
provider
- 引入jar,接口的jar就不写出来了,自己引自己的接口jar
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.3</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.11</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.10</version>
</dependency>
- 配置参数
dubbo.name:myProvider
dubbo.zookeeper:zookeeper://ip地址:2181
- dubbo配置类
/**
* @author: zxl
* @Date: 2019/3/9
* @Description: dubbo配置类
*/
@Configuration
public class DubboConfig {
@Value("${dubbo.zookeeper}")
private String zkAddr;
@Value("${dubbo.name}")
private String appName;
@Bean
public ApplicationConfig applicationConfig() {
ApplicationConfig applicationConfig = new ApplicationConfig();
applicationConfig.setName(appName);
return applicationConfig;
}
@Bean
public RegistryConfig registryConfig() {
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress(zkAddr);
return registryConfig;
}
@Bean
public ProtocolConfig protocolConfig() {
ProtocolConfig protocolConfig = new ProtocolConfig();
protocolConfig.setName("dubbo");
return protocolConfig;
}
}
- 接口实现类
/**
* @author: zxl
* @Date: 2019/3/9
* @Description: 接口实现类,注意这里的@servide是引入的dubbo的类
*/
@Service
public class ServiceImpl implements IserviceTest {
@Override
public String getA() {
System.out.println("12312313");
return "ggggggg";
}
}
- 开启dubbo扫描
@SpringBootApplication
@DubboComponentScan("com.zxl.demo")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
customer
- 引入jar,同上
- 配置地址,同provider,注意修改dubbo.name
- dubbo配置类,同provider
- 调用接口
/**
* @author: zxl
* @Date: 2019/3/9
* @Description: 注意这里@Reference 用的是dubbo的注解
*/
@Controller
public class TestController {
@Reference
private IserviceTest iserviceTest;
@RequestMapping(value = "/inin")
public void getTest() {
System.out.println("哇哇");
iserviceTest.getA();
}
}
- 开启扫描,写法同provider
公共接口
这个就不写了,只建了一个普通的接口,provider和customer引用即可。