一个你最需要的dubbo入门工程,maven+dubbo+hibernate+redis+mvc+mysql
先向一个url进行请求,通过mvn框架映射到相应的controller,消费者会请求提供者暴露在dubbo注册中心(这里用的是zookeeper)上的服务接口,然后远程调用提供方的方法,拿到返回值后返回一个相应的view视图,解析后展示。提供方会通过hiberate对mysql进行查询(前提是redis缓存中没有相应的值),缓存中有值就直接返回。
以下是整体的项目框架。
先说最简单的dubbointerface
只要声明一个接口就行
然后就是maven 打包,因为这个提供者和消费者都要依赖这个包。
然后就是提供者。依赖:
要特别提一点的是,因为dubbo默认的spring的版本很低会不支持java注解,所以需要dubbo适应更高版本的spring就需要把他内置的spring排除掉。
配置hiberate和mysql之前提到过,这里不说了。
dubbo的配置文件。
接口的实现类;
最后提交服务就行。
最后是dubboconsumer。依赖和提供者差不多。多了一个
提供者的配置文件。
然后就是mvc结构。
web.xml文件
声明一个dispatcher分配任务,响应请求。
mvc-dispatcher-servlet.xml文件,扫描到具体controller。
controller文件,传递取到的数据到相应的view,view的url会回到上面的dispatcher文件加上前缀和后缀,返回相应的文件。
提一下,这里的url如果写的是/*则会报错,因为获取到/index.jap会继续进入controller进行执行,然后没有响应这个url的方法就会报404,最好写/。
具体代码见:https://github.com/yyZonda/dubboandSpringmvc