dubbo使用方法之ssm

直连方式:

1.先写一个接口工程,接口里面包括实体类和接口 1.先写一个接口工程,接口里面包括实体类和接口
2.再写一个provide提供者,提供服务
  • 提供者具体细节:
1).先写一个接口工程中的实现类
导入provide需要的依赖: – 导入provide需要的依赖:
		      <dependencies>
			<!--Spring依赖-->
			<dependency>
			    <groupId>org.springframework</groupId>
			    <artifactId>spring-context</artifactId>
			    <version>4.3.16.RELEASE</version>
			</dependency>
			<!--springmvc依赖-->
			<dependency>
			    <groupId>org.springframework</groupId>
			    <artifactId>spring-webmvc</artifactId>
			    <version>4.3.16.RELEASE</version>
			</dependency>
			<!--dubbo依赖-->
			<dependency>
			    <groupId>com.alibaba</groupId>
			    <artifactId>dubbo</artifactId>
			    <version>2.6.2</version>
			</dependency>
			<!--导入接口工程的依赖-->
			<dependency>
			    <groupId>com.zgw</groupId>
			    <artifactId>ssm-dubbo-link-interface</artifactId>
			    <version>1.0.0</version>
			</dependency>
		    </dependencies>
		    <build>
			<plugins>
			    <!--JDK1.8编译插件-->
			    <plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
				    <source>1.8</source>
				    <target>1.8</target>
				</configuration>
			    </plugin>
			</plugins>
		    </build>
2).建立一个provide.xml配置文件 :
		    <!--声明dubbo服务提供者的名称:保证唯一性-->
		    <dubbo:application name="ssm-dubbo-link-provide"/>
		    <!--设置dubbo使用的协议和端口号-->
		    <!--
			name:dubbo使用协议的名称
			port:dubbo服务的端口号
		    -->
		    <dubbo:protocol name="dubbo" port="20880"/>
		    <!--
			暴露服务接口,registry="N/A" 表示直连方式
		    -->
		    <dubbo:service interface="com.zgw.service.UserService" ref="userService" registry="N/A"/>
		    <!--加载业务接口的实现类到spring容器中-->
		    <bean id="userService" class="com.zgw.service.impl.UserServiceImpl"/> 
3).在web.xml文件配置(加载到配置文件):
		  <context-param>
		       <param-name>contextConfigLocation</param-name>
		       <param-value>classpath:linkprovide.xml</param-value>
		       </context-param>
		  <listener>
		       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
		  </listener>
3.最后写一个consumer消费者
  • 消费者具体细节:
1).先写一个控制层,controller实体类
导入consumer需要的依赖:
        <dependencies>
			<!--Spring依赖-->
			<dependency>
			    <groupId>org.springframework</groupId>
			    <artifactId>spring-context</artifactId>
			    <version>4.3.16.RELEASE</version>
			</dependency>
			<!--springmvc依赖-->
			<dependency>
			    <groupId>org.springframework</groupId>
			    <artifactId>spring-webmvc</artifactId>
			    <version>4.3.16.RELEASE</version>
			</dependency>
			<!--dubbo依赖-->
			<dependency>
			    <groupId>com.alibaba</groupId>
			    <artifactId>dubbo</artifactId>
			    <version>2.6.2</version>
			</dependency>
			<!--导入接口工程的依赖-->
			<dependency>
			    <groupId>com.zgw</groupId>
			    <artifactId>ssm-dubbo-link-interface</artifactId>
			    <version>1.0.0</version>
			</dependency>
		    </dependencies>
		    <build>
			<plugins>
			    <!--JDK1.8编译插件-->
			    <plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
				    <source>1.8</source>
				    <target>1.8</target>
				</configuration>
			    </plugin>
			</plugins>
		    </build> 
2).在创建一个consumer.xml配置文件:
                    <!--声明服务消费者名称:保证唯一性-->
                    <dubbo:application name="ssm-dubbo-link-consumer"/>
                    <!--引用远程接口服务-->
                    <dubbo:reference id="userService" interface="com.zgw.service.UserService" url="dubbo://localhost:20880" registry="N/A"/>
            -- 在创建一个applicationContext.xml文件:
                  <!--扫描组件-->
                  <context:component-scan base-package="com.zgw.web"/>
                  <!--配置注解驱动-->
                  <mvc:annotation-driven/>
                  <!--视图解析器-->
                  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                     <property name="prefix" value="/"/>
                     <property name="suffix" value=".jsp"/>
                  </bean>
3).在web.xml文件配置(加载到配置文件):
       <servlet>
			<servlet-name>dispatcherServlet</servlet-name>
			<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
			<init-param>
				<param-name>contextConfigLocation</param-name>
				<param-value>classpath:applicationContext.xml,classpath:linkconsumer.xml</param-value>
		        </init-param>
		</servlet>
		<servlet-mapping>
			<servlet-name>dispatcherServlet</servlet-name>
			<url-pattern>/</url-pattern>
		</servlet-mapping>

通过ZooKeeper的方式:

1.先写一个接口工程,接口里面包括实体类和接口 1.先写一个接口工程,接口里面包括实体类和接口
2.再写一个provide提供者,提供服务
  • 提供者具体细节:
1.先写一个接口工程中的实现类
1).导入provide需要的依赖:
		      <dependencies>
			<!--Spring依赖-->
			<dependency>
			    <groupId>org.springframework</groupId>
			    <artifactId>spring-context</artifactId>
			    <version>4.3.16.RELEASE</version>
			</dependency>
			<!--springmvc依赖-->
			<dependency>
			    <groupId>org.springframework</groupId>
			    <artifactId>spring-webmvc</artifactId>
			    <version>4.3.16.RELEASE</version>
			</dependency>
			<!--dubbo依赖-->
			<dependency>
			    <groupId>com.alibaba</groupId>
			    <artifactId>dubbo</artifactId>
			    <version>2.6.2</version>
			</dependency>
			<!--导入接口工程的依赖-->
			<dependency>
			    <groupId>com.zgw</groupId>
			    <artifactId>ssm-dubbo-link-interface</artifactId>
			    <version>1.0.0</version>
			</dependency>
			 <!--zookeeper依赖-->
			<dependency>
			    <groupId>org.apache.curator</groupId>
			    <artifactId>curator-framework</artifactId>
			    <version>4.1.0</version>
			</dependency>
		    </dependencies>
		    <build>
			<plugins>
			    <!--JDK1.8编译插件-->
			    <plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
				    <source>1.8</source>
				    <target>1.8</target>
				</configuration>
			    </plugin>
			</plugins>
		    </build>
2).建立一个provide.xml配置文件 :
		    <!--声明dubbo服务提供者的名称:保证唯一性-->
		    <dubbo:application name="ssm-dubbo-zk-provide"/>
		    <!--设置dubbo使用的协议和端口号-->
		    <!--
			name:dubbo使用协议的名称
			port:dubbo服务的端口号
		    -->
		    <dubbo:protocol name="dubbo" port="20880"/>
		    <!--现在要使用zookeeper注册中心-->
		    <!--指定注册中心地址和端口号-->
		    <!--<dubbo:registry address="zookeeper://localhost:2181"/>-->
		    <!--使用linux系统中的zookeeper服务-->
		    <!--linux只需要将localhost改成linux的ip地址-->
		    <dubbo:registry address="zookeeper://localhost:2181"/>
		    <!--
			暴露服务接口,因为不是直连,所以不需要registry="N/A"
		    -->
		    <dubbo:service interface="com.zgw.service.UserService" ref="userService" registry="N/A"/>
		    <!--加载业务接口的实现类到spring容器中-->
		    <bean id="userService" class="com.zgw.service.impl.UserServiceImpl"/> 
3).在web.xml文件配置(加载到配置文件):
 		  <context-param>
		       <param-name>contextConfigLocation</param-name>
		       <param-value>classpath:zkprovider.xml</param-value>
		       </context-param>
		  <listener>
		       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
		  </listener>
3.最后写一个consumer消费者
  • 消费者具体细节:
1).先写一个控制层,controller实体类
导入consumer需要的依赖:
      <dependencies>
			<!--Spring依赖-->
			<dependency>
			    <groupId>org.springframework</groupId>
			    <artifactId>spring-context</artifactId>
			    <version>4.3.16.RELEASE</version>
			</dependency>
			<!--springmvc依赖-->
			<dependency>
			    <groupId>org.springframework</groupId>
			    <artifactId>spring-webmvc</artifactId>
			    <version>4.3.16.RELEASE</version>
			</dependency>
			<!--dubbo依赖-->
			<dependency>
			    <groupId>com.alibaba</groupId>
			    <artifactId>dubbo</artifactId>
			    <version>2.6.2</version>
			</dependency>
			<!--导入接口工程的依赖-->
			<dependency>
			    <groupId>com.zgw</groupId>
			    <artifactId>ssm-dubbo-link-interface</artifactId>
			    <version>1.0.0</version>
			</dependency>
			<!--注册中心依赖-->
			<dependency>
			    <groupId>org.apache.curator</groupId>
			    <artifactId>curator-framework</artifactId>
			    <version>4.1.0</version>
			</dependency>
		    </dependencies>
		    <build>
			<plugins>
			    <!--JDK1.8编译插件-->
			    <plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
				    <source>1.8</source>
				    <target>1.8</target>
				</configuration>
			    </plugin>
			</plugins>
		    </build> 
2).在创建一个consumer.xml配置文件:
                    <!--声明服务消费者名称:保证唯一性-->
                    <dubbo:application name="ssm-dubbo-zk-consumer"/>
                    <!--指定注册中心-->
		    <!--<dubbo:registry address="zookeeper://localhost:2181"/>-->
		    <!--使用linux系统中的zookeeper服务-->
		    <dubbo:registry address="zookeeper://192.168.154.128:2181"/>

                    <!--引用远程接口服务-->
                    <dubbo:reference id="userService" interface="com.zgw.service.UserService"/>
3).在创建一个applicationContext.xml文件:
        <!--扫描组件-->
           <context:component-scan basepackage="com.zgw.web"></context:component-scan>
        <!--配置注解驱动-->
           <mvc:annotation-driven></mvc:annotation-driven>
        <!--视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                     <property name="prefix" value="/"></property>
                     <property name="suffix" value=".jsp"></property>
        </bean>
4).在web.xml文件配置(加载到配置文件):
  <servlet>
			<servlet-name>dispatcherServlet</servlet-name>
			<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
			<init-param>
				<param-name>contextConfigLocation</param-name>
				<param-value>classpath:applicationContext.xml,classpath:zkconsumer.xml</param-value>
		        </init-param>
		</servlet>
		<servlet-mapping>
			<servlet-name>dispatcherServlet</servlet-name>
			<url-pattern>/</url-pattern>
		</servlet-mapping>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值