Dubbo基于注解方式的配置

如果还不了解Dubbo是什么或者不知道怎么搭建的可以先看一下我的上一篇文章。

首先我先来讲下提供者(也就是服务端)的配置,先上配置文件代码:

 
 
    
	
	

	

	
	

	
	

	
	
	
		
	
	
 	
	
 
下面这两句就是开启注解扫描的配置:

	
	
	
 	
	

package和base-package是要扫描的位置,这些配置的意思大部分都跟spring的配置差不多,这里就不多说了。

接下来来看下我们Service中代码注解的使用:

package com.dubbo.provide.user.service.impl;

import org.springframework.stereotype.Component;

import com.alibaba.dubbo.config.annotation.Service;
import com.dubbo.provide.user.service.IUserService;


/**
 * 
 * @author LiZhiXian
 * @version 1.0
 * @date 2015-9-12 下午4:44:21
 */
@Component
@Service
public class UserService implements IUserService {

	@Override
	public String getUser() {
		return "dubbo接口调用成功......";
	}

}
其中@Component就是spring bean的注解,而@Service就是dubbo本身的注解,这两个注解合起来的意思就跟我们配置文件中先声明一个bean然后再声明接口暴露的意思是一样的。

接下来看下消费者(也就是客户端)的配置:

我这边使用的是springmvc框架,注意:这边接口的名称以及包路径,必须和提供者暴露的接口一致,可以直接将服务端的接口导出成jar,然后在客户端引入使用。




平时加配置文件的习惯都是按不同的功能来配置的,但是刚试了一下将dubbo单独配置,发现在注解扫描的时候扫描不到,有可能是跟spring的注解扫描发生了冲突,

最后我将dubbo的配置集成到了springMvc-servlet.xml配置中问题就解决了。

  
  
     
    
    
    
	

	
	
	
    
    
    
	 
    
	
	
	
	
	  
     
    
      
    

    
      
              
                  
                     
                  
              
     
    
      
      
	       
	       
	 
       
	  	    
	     10737418240 
	 

  

dubbo的配置我是加在了springMvc配置的最前面


接下来看下我在controller中的运用

package com.frame.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.dubbo.config.annotation.Reference;
import com.dubbo.provide.user.service.IUserService;

/**
 * 
 * @author LiZhiXian
 * @version 1.0
 * @date 2015-9-16 上午8:54:55
 */
@Controller
@RequestMapping(value="/user/*")
public class UserController {

	@Reference
	IUserService userService;//调用Dubbo暴露的接口

	@RequestMapping(value="getUser.htm")
	public @ResponseBody String getUser(){
		return userService.getUser();
	}
}
这变就使用到了@Reference来注入服务端爆入的接口。

由于还有其他事情要忙就先说到这里,如果有更好的建议欢迎各位读者留言,谢谢。

你可能感兴趣的:(Dubbo,dubbo,分布式,JAVA)