cxf学习笔记二:cxf处理javabean式的符合类

仍在上篇的代码基础上操作; 上篇的图为什么没显示 谁能说下嘛

当形参,返回值的 类型是string,基本类型的时候,cxf可以轻松处理;

当形参,返回值的 类型是javabean式的复合类,list,数组时也可以处理;

但是如map,飞javabean式的符合类,cxf是处理不了的,以后有这些类的处理介绍;


建立bean包建立cat,User类;

User中

并重写方法 :只name 和address就好;

二:建立service包与impl

public interface UserService {
    List<Cat> getCatByUser(User user);
}

public class UserServiceImpl implements UserService {
    //用一个hashMap来模拟内存中的数据
    static Map<User,List<Cat>> catDb = new HashMap<>();
    static {
        List<Cat> catList1 = new ArrayList<>();
        catList1.add(new Cat("1","小毛1","黄色1"));
        catList1.add(new Cat("2","小毛2","黄色2"));
        catDb.put(new User("11","小王","男","新乡"),catList1);
        List<Cat> catList2 = new ArrayList<>();
        catList2.add(new Cat("3","小毛3","黄色3"));
        catList2.add(new Cat("4","小毛4","黄色4"));
        catDb.put(new User("12","小zhang","男","新乡"),catList2);
    }
    public List<Cat> getCatByUser(User user) {
        // TODO Auto-generated method stub
        return catDb.get(user);
    }
}

----------------------------------------------

HelloWord接口中加入:public List<Cat> getCatsByUser(User user);

HelloWordImpl
    public List<Cat> getCatsByUser(User user) {
        UserService us= new UserServiceImpl();
        return us.getCatByUser(user);
    }

-------------------------------------------服务端完成

---由于服务端改变 ,客户端需要重新生成在原有的基础上-- 扔进入到小黑窗客户端src下-- 运行wsdl2java http://ip地址/test?wsdl

--进入TestClient类

public static void main(String[] args) {
        //该类的实例课当成工厂来使用;
        HelloWordImpl factory = new HelloWordImpl();
        //这个HelloWord 是客户端的 但是和服务端有相同的方法;
        // 返回的只是远程的web service的代理
        HelloWord hw = factory.getHelloWordImplPort();
//        String sayHi = hw.sayHi("孙悟空");
//        System.out.println(sayHi);
        User user = new User();
        user.setId("11");
        user.setName("小王");
        user.setSex("男");
        user.setAddress("河北");
        List<Cat> list = hw.getCatsByUser(user);
        for (Cat cat : list) {
            System.out.println(cat.getCid()+"_"+cat.getCname()+"__"+cat.getColer());
        }
    }

运行成功 经小王的猫都输出;;;





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值