Можно ли расширить класс pojo весной? - PullRequest
0 голосов
/ 22 февраля 2012

У меня есть pojo, который содержит набор закрытых переменных, их установщиков и получателей.Это Pojo широко используется в моем приложении.Теперь я должен поддержать сценарий, в котором есть несколько pojo, и каждое pojo - это расширенный набор начальных pojo, которые у меня есть.Возможно ли, что я могу расширить свое оригинальное ПОЖО, чтобы мне не нужно было менять существующую бизнес-логику.Я новичок в весне, и я не знаю, возможно ли это.Pojo B должен содержать все в pojo A и еще несколько вещей.Внутри кода я буду создавать объекты pojo B через pojo A. В основном, что-то похожее на наследование, но с pojos.

1 Ответ

2 голосов
/ 22 февраля 2012

Как правило, вы должны либо агрегировать, либо наследовать.

Наследовать:

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

class B extends A {
}

Агрегировать

public interface A {
    public String getName();
}

public class AImpl implements A {
    private String name;
    public String getName() {
        return name;
    }
}

public class BImpl implements A {
    private A wrapped;
    public BImpl(A wrapped) {
        this.wrapped = wrapped;
    }
    public String getName() {
        return wrapped.getName();
    }
}
...