博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分布式服务框架Dubbo入门案例和项目源码
阅读量:5256 次
发布时间:2019-06-14

本文共 4613 字,大约阅读时间需要 15 分钟。

本项目源代码:
  

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,

是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。
   官方网站: 

    本项目代码,根据官方提供的dubbo-ws-demo-master例子,改造而来。

    官网例子源码:

    官方的例子,都放在1个项目中,接口、实现类、Java应用测试例子。
   
    自己给改造了下,方便在项目中直接使用。
    虽说是HelloWorld,也还是要向实际情况靠拢。

   3个项目

1.web-service接口项目, 定义接口和供调用放引入的dubbo配置。

 接口HelloService 
 
package com.dubbo.demo;public interface HelloService {    String hello(String name);}
接口定义的dubbo配置
  spring-dubbo.xml
  
maven配置
 pom.xml
4.0.0
com.shop
1.0.0-SNAPSHOT
web-service
http://maven.apache.org
;
com.alibaba
dubbo
2.4.10
org.apache.cxf
cxf-rt-frontend-simple
2.6.1
org.apache.cxf
cxf-rt-transports-http
2.6.1
web-service
maven-compiler-plugin
1.6
1.6
UTF-8
web-service
2.web-service-impl接口实现项目
  接口实现类 HelloServiceImpl 
package com.dubbo.demo.impl;import com.dubbo.demo.HelloService;public class HelloServiceImpl implements HelloService {    @Override    public String hello(String name) {        return "Hello, " + name + "!";    }}
 
接口实现dubbo配置
spring-provider.xml
 
Maven配置
4.0.0
com.shop
web-service-impl
war
1.0.0-SNAPSHOT
dubbo-ws Maven Webapp
http://maven.apache.org
;
com.shop
web-service
1.0.0-SNAPSHOT
web-service-impl
maven-compiler-plugin
1.6
1.6
UTF-8
 
   web.xml配置
web-service
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
classpath*:spring-context.xml
dubbo
com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet
1
dubbo
/*
 

3.接口测试(调用方)项目

接口调用代码
import com.dubbo.demo.HelloService;import org.springframework.context.support.ClassPathXmlApplicationContext;public class ConsumerMain {    public static void main(String[] args) {        ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("spring-dubbo.xml");        classPathXmlApplicationContext.start();        HelloService helloService = (HelloService) classPathXmlApplicationContext.getBean("helloService");        String world = helloService.hello("World");        System.out.println("=====================================");        System.out.println(world);        System.out.println("=====================================");            }}
maven配置
  类似上面的
Web程序访问
  
ConsumerMain是通过应用程序的方式,访问Dubbo包装的服务。
 而 
  
@Controller@RequestMapping("")public class HelloWorldController {	@Autowired	private HelloService helloService;		@ResponseBody	@RequestMapping("hello")	public String hello(){		return helloService.hello("hi dubbo");	}	}
web.xml
web-service-test
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
classpath*:spring-context.xml
springMvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc-servlet.xml
1
springMvc
/
4.项目测试 
   a.启动服务项目
     web-service-imp
     
   b.启动Java应用程序 ConsumerMain,打印结果。
      
   c.启动Web应用程序web-service-test,访问
   
本项目源代码:

转载于:https://www.cnblogs.com/qitian1/p/6462446.html

你可能感兴趣的文章
九.python面向对象(双下方法内置方法)
查看>>
go:channel(未完)
查看>>
[JS]递归对象或数组
查看>>
LeetCode(17) - Letter Combinations of a Phone Number
查看>>
Linux查找命令对比(find、locate、whereis、which、type、grep)
查看>>
路由器外接硬盘做nas可行吗?
查看>>
python:从迭代器,到生成器,再到协程的示例代码
查看>>
Java多线程系列——原子类的实现(CAS算法)
查看>>
在Ubuntu下配置Apache多域名服务器
查看>>
多线程《三》进程与线程的区别
查看>>
linux sed命令
查看>>
html标签的嵌套规则
查看>>
[Source] Machine Learning Gathering/Surveys
查看>>
HTML <select> 标签
查看>>
类加载机制
查看>>
tju 1782. The jackpot
查看>>
湖南多校对抗赛(2015.03.28) H SG Value
查看>>
hdu1255扫描线计算覆盖两次面积
查看>>
hdu1565 用搜索代替枚举找可能状态或者轮廓线解(较优),参考poj2411
查看>>
bzoj3224 splay板子
查看>>