dubbo分布式项目开发____dubbo服务调用开发

来源:互联网 发布:linux就是这个范儿pdf 编辑:程序博客网 时间:2024/06/03 10:08

//创建工程名 cnse-customer-user

导入jar包 

//工程结构


//spring 文件配置

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:c="http://www.springframework.org/schema/c"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsdhttp://code.alibabatech.com/schema/dubbo              http://code.alibabatech.com/schema/dubbo/dubbo.xsd "><!-- 其他context引用  -->    <!-- 引入调用dubbo服务的资源文件 -->    <import resource="dubbo-customer-user.xml"/>    </beans>
//service接口

package com.cnse.provider.user.service;import java.util.List;import com.cnse.provider.user.service.po.User;/** * @author Administrator *  */public interface UserService {//检测用户登录的接口public String checkLoginUser(String username,String password);//获取用户列表的接口public List<User>getUsers();}

//service空实现 以为服务端不会告诉你具体的实现 但自己要做一个空实现 

package com.cnse.provider.user.service.impl;import java.util.List;import com.cnse.provider.user.service.UserService;import com.cnse.provider.user.service.po.User;/** * @author Administrator * 服务端是不会给客户端具体的实现方法的 * 所有要做一个空实现 调用的时候都是调用的服务端的 */public class UserServiceImpl implements UserService {@Overridepublic String checkLoginUser(String username, String password) {return null;}@Overridepublic List<User> getUsers() {return null;}}

//dubbo调用xml配置文件

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:c="http://www.springframework.org/schema/c"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsdhttp://code.alibabatech.com/schema/dubbo              http://code.alibabatech.com/schema/dubbo/dubbo.xsd "><!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 --><dubbo:application name="cnse-customer-user" /><!-- 使用zookeeper注册中心暴露服务地址 --><!-- <dubbo:registry address="multicast://224.5.6.7:1234" /> --><dubbo:registry address="zookeeper://127.0.0.1:2181" /><!-- 生成远程服务代理,可以像使用本地bean一样使用demoService --><dubbo:reference id="userService" interface="com.cnse.provider.user.service.UserService" /></beans>
//log日志文件

#开发日志将在本地输出,并输出SQLlog4j.rootLogger=INFO,A1,DRFlog4j.appender.A1=org.apache.log4j.ConsoleAppenderlog4j.appender.A1.layout=org.apache.log4j.PatternLayout# log4j.appender.A1.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%nlog4j.appender.A1.layout.ConversionPattern=%d %5p [%F:%L] : %m%nlog4j.appender.DRF=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.DRF.Threshold=INFOlog4j.appender.DRF.DatePattern='.'yyyy-MM-ddlog4j.appender.DRF.File=logs/cnse_customer_user.loglog4j.appender.DRF.Append=truelog4j.appender.DRF.layout=org.apache.log4j.PatternLayoutlog4j.appender.DRF.layout.ConversionPattern=[%-5p][%d{yyyyMMdd HH:mm:ss,SSS}][%C{1}:%L] %m%n
//webxml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">  <display-name>cnse-customer-user</display-name>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>  <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>  <context-param>    <param-name>contextConfigLocation</param-name>    <param-value>classpath:spring-context-customer.xml</param-value>  </context-param></web-app>

//调用服务接口的测试类

package com.cnse.customer.user.test;import java.util.List;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.cnse.provider.user.service.UserService;import com.cnse.provider.user.service.po.User;/** * @author Administrator * */public class UserConsumer {public static void main(String[] args) throws Exception {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "spring-context-customer.xml" });context.start();UserService userService = (UserService) context.getBean("userService");String respStr = userService.checkLoginUser("admin","123456");System.out.println("调用登录服务的接口__respStr__:"+respStr);List<User>list = userService.getUsers();if (list != null && list.size() > 0) {for (int i = 0; i < list.size(); i++) {System.out.println("调用用户列表服务的接口__respStr__:"+list.get(i));}}System.in.read();}}

//运行结果 


//代码和资源文件  百度资源地址:http://pan.baidu.com/s/1kVLnEkR   dubbo客户端和服务端的代码

0 0
原创粉丝点击