1. provider 配置信息
application.yml
spring:
dubbo:
server: true
registry: zookeeper://127.0.0.1:2181
application:
name: dubbo-provider
server:
port: 8089
pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<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>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
<exclusions>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/com.101tec/zkclient -->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.11</version>
</dependency>
</dependencies>
User.java
import java.io.Serializable;
public class User implements Serializable
{
private int id;
private String name;
private int age;
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
@Override
public String toString()
{
return "User{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + '}';
}
}
UserInfo.java
public interface UserInfo
{
User findUserById(int id);
}
UserInfoImp.java
@Service
//@Service(version = "1.0.0",timeout = 10000,interfaceClass = UserInfo.class)
@Component
public class UserInfoImp implements UserInfo
{
@Override
public User findUserById(int id)
{
User u = new User();
u.setId(id);
u.setAge(18);
u.setName("test");
return u;
}
}
DemoProviderApplication.java
@SpringBootApplication
@EnableDubboConfiguration
public class DemoProviderApplication
{
public static void main(String[] args) throws IOException
{
SpringApplication.run(DemoProviderApplication.class, args);
}
}
2. consumer 配置信息
<dependencies>
<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>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.spring.dubbo.provider</groupId>
<artifactId>demo-provider</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
pom.yml
spring:
dubbo:
application:
name: consumer
registry:
address: zookeeper://127.0.0.1:2181
protocol:
port: 20800
name: dubbo
server:
port: 8088
UserInfoController.java
@RestController
public class UserInfoController
{
@Reference
// @Reference(version = "1.0.0")
private UserInfo userInfo;
@RequestMapping("/userInfo")
public User userInfo()
{
return userInfo.findUserById(101);
}
}
DemoApplication.java
@EnableDubboConfiguration
@SpringBootApplication
public class DemoApplication
{
public static void main(String[] args)
{
SpringApplication.run(DemoApplication.class, args);
}
}