dubbo服务端
引入依赖
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.6</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.0.1</version>
</dependency>
yml配置
dubbo:
application:
name: mmrenedu-user-provider
registry:
address: zookeeper://localhost:2181
protocol:
name: dubbo
port: 20880
启动类
@SpringBootApplication(exclude={DruidDataSourceAutoConfigure.class})
@EnableDubbo
@ComponentScan(value="com.test.mapper")
public class Application {
public static void main(String[] args) {
ConfigurableApplicationContext run = SpringApplication.run(Application.class, args);
}
}
serviceImpl加注解
@Service(interfaceClass = TestService.class,version = "1.0",timeout = 15000)
public class TestServiceImpl implements TestService {
@Autowired
TestMapper mapper;
@Override
public Test save(Test obj) {
mapper.insert(obj);
return obj;
}
}
消费端
引入依赖
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.6</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.0.1</version>
</dependency>
测试
@SpringBootTest(classes = ConsumerApplication.class)
public class Test {
@Reference(interfaceClass = TestService.class,version = "1.0",timeout = 15000)
TestService service;
@org.junit.jupiter.api.Test
public void test(){
com.jk.entity.Test obj = new com.jk.entity.Test();
obj.setName("张杰");
service.save(obj);
}
}