服务提供方:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
<context:component-scan base-package="cn.cmds.shop"/>
<!-- 使用dubbo发布服务 -->
<!-- 在注册中心定义应用名称 -->
<dubbo:application name="shop-goods-service" />
<!-- 注册中心的协议:zookeeper 注册中心所在的地址:192.168.65.150:2181 -->
<dubbo:registry protocol="zookeeper" address="192.168.65.150:2181" />
<!-- invoke服务时 :使用用dubbo协议,并在在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- interace:dubbo服务暴露的接口的全路径
ref:dubbo服务暴露的接口的实现类 <bean id="goodsService" class="com.dubbo.service.impl.goodsServiceImpl" /> 或者使用@Service("goodsService") 都是可以的。
-->
<!-- 开始发布服务 -->
<dubbo:service interface="cn.cmds.shop.service.GoodsService" ref="goodsService" timeout="300000"/>
<!-- ref:是指谁来服务 timeout:300s之内没有服务完,则认为失败 -->
</beans>
服务消费方(consumer):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 注解驱动
给Controller加 @Controller 结合组件扫描,就不用到springmvc.xml配置bean
注解驱动会自动注册
注解适配器
注解映射器
-->
<mvc:annotation-driven/>
<context:component-scan base-package="cn.cmds.shop.controller"/>
<!--
mapping: 静态资源请求url
location:静态资源的物理路径 /js/** /js/test.js /js/js1/test2.js
-->
<mvc:resources location="/static/" mapping="/static/**"></mvc:resources>
<!-- 视图解析器 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 视图进行渲染的时候,使用jstl标签,要求lib中包含jstl的jar包 prefix: 视图前缀 /goods/ 处理器方法可以返回逻辑视图名
list suffix : 视图后缀名 .jsp 真实视图名 =prefix+逻辑视图名+suffix= /goods/list.jsp -->
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/" />
<property name="suffix" value=".jsp" />
</bean>
<dubbo:application name="shop-goods-web" />
<dubbo:registry protocol="zookeeper" address="192.168.65.150:2181" />
<!-- dubbo框架代理对象,Controller调用代理对象,代理对象调用服务获取数据,返回controller -->
<dubbo:reference id="goodsService" interface="cn.cmds.shop.service.GoodsService" />
</beans>