1.创建一个简单的Maven项目
2.修改pom文件
添加如下信息
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<!-- Add typical dependencies for a web application -->
<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.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.29</version>
</dependency>
</dependencies>
<!-- Package as an executable jar -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3.创建类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan("userConsumer.deom")
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class userController {
@RequestMapping("/index")
@ResponseBody
public Map<String,String> getinfo(){
Map<String,String> data=new HashMap<String,String>();
data.put("name","black");
data.put("sex", "女");
return data;
}
}
4.修改pom文件使它依赖于客户端
5.在userController中写代码
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.hzyc.shopping.client.service.IUserService;
import com.hzyc.shopping.user.model.UserBean;
@Controller
public class userController {
@Resource
private IUserService UserService;
@RequestMapping("/getUserById")
@ResponseBody
public UserBean getUserById(int id){
return UserService.getUser(id);
}
}
6.在user的pom文件中配置springboot依赖
<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
7.修改yml文件
8.在/user.web/src/main/java/com/hzyc/shopping/user/Example.java下添加注解@EnableDubboConfiguration
9.在UserServcie下配置Dubbo的Service注解
@com.alibaba.dubbo.config.annotation.Service(interfaceClass = com.hzyc.shopping.client.service.IUserService.class)
10.配置消费端的pom文件:配置springboot依赖
11.配置消费端yml文件
12.在消费端userConsumer/deom/Application.java下添加注解@EnableDubboConfiguration
13.在yml文件中修改端口号
14:修改提供方的UserBean
总结
1.在服务提供方加注解
2.修改服务提供方加yml
3.UserService中加Dubbo注解
4.配置服务消费方yml
5.在消费方注入Dubbo的Reference