一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

先向一个url进行请求,通过mvn框架映射到相应的controller,消费者会请求提供者暴露在dubbo注册中心(这里用的是zookeeper)上的服务接口,然后远程调用提供方的方法,拿到返回值后返回一个相应的view视图,解析后展示。提供方会通过hiberate对mysql进行查询(前提是redis缓存中没有相应的值),缓存中有值就直接返回。

以下是整体的项目框架。

 

 一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

 

 

 

先说最简单的dubbointerface

只要声明一个接口就行

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

然后就是maven 打包,因为这个提供者和消费者都要依赖这个包。

然后就是提供者。依赖:

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

 

要特别提一点的是,因为dubbo默认的spring的版本很低会不支持java注解,所以需要dubbo适应更高版本的spring就需要把他内置的spring排除掉。

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

配置hiberate和mysql之前提到过,这里不说了。

dubbo的配置文件。

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

接口的实现类;

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

 

最后提交服务就行。

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

最后是dubboconsumer。依赖和提供者差不多。多了一个

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

提供者的配置文件。

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

然后就是mvc结构。

 

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

web.xml文件

声明一个dispatcher分配任务,响应请求。

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

mvc-dispatcher-servlet.xml文件,扫描到具体controller。

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

controller文件,传递取到的数据到相应的view,view的url会回到上面的dispatcher文件加上前缀和后缀,返回相应的文件。

 

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

提一下,这里的url如果写的是/*则会报错,因为获取到/index.jap会继续进入controller进行执行,然后没有响应这个url的方法就会报404,最好写/。

一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql

 

 

具体代码见:https://github.com/yyZonda/dubboandSpringmvc