springmvc - java如何封装多个不同的实体
黄舟
黄舟 2017-04-18 10:41:22
0
3
602
黄舟
黄舟

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

全部回覆(3)
左手右手慢动作

再封裝一層,
類名最好跟業務相關

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>,幾個bean類別就幾個list放到Map中

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板