springmvc - java如何封装多个不同的实体
黄舟
黄舟 2017-04-18 10:41:22
[Java讨论组]
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
ringa_lee

再封装一层,
类名最好跟业务相关

public class UserAndCustomerVo{

    private User user;
    
    private Customer customer;

    //getter setter method
}
@RequestMapping("test")
public UserAndCustomerVo getSomeInfo() {
    User user = new User();
    Customer customer = new Customer();
    UserAndCustomerVo uacVo = new UserAndCustomerVo();
    uacVo.setUser(user);
    uacVo.setCustomer(customer);

    return uacVo;
}

这样以后业务要扩展还可以继续加

迷茫

我觉得要简单呢,就用 Map 好了。如果你想传递过去的数据有明确类型,貌似只能自己定义类型或接口了。不过如果是用于转换成 JSON,用 Map 应该比较好。

另外,也可以用匿名类,

class User {
    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }
    private String name;

    public int getAge() {
        return age;
    }
    private int age;
}

class Customer {
    public Customer(String name, double money) {
        this.name = name;
        this.money = money;
    }

    public String getName() {
        return name;
    }
    private String name;

    public double getMoney() {
        return money;
    }
    private double money;
}

public class Test extends Thread {
    public static void main(String[] args) {
        final User _user = new User("James", 30);
        final Customer _customer = new Customer("Andy", 100.00);

        // 匿名类实现组合类型
        Object combine = new Object() {
            {
                this.user = _user;
                this.customer = _customer;
            }

            private User user;
            private Customer customer;

            public User getUser() {
                return user;
            }

            public Customer getCustomer() {
                return customer;
            }

            public String toString() {
                return user.getName() + "|" + customer.getName();
            }
        };

        System.out.println(combine.toString());
    }
}

如果需要明确的接口,可以自定义一个接口,将代码代码中 new Object() { .... } 中那个 Object 替换成你自己的接口——不过写这么麻烦,都可以自己定义个组合类型了。你可以自己研究下自定义 Tuple 泛型(网上貌似也能搜到)。

阿神

个人觉得Map接受比较好,Map<String,List<Model>>,几个bean类就几个list放到Map中

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号