Просто интересно, есть ли в Spring способ иметь родительский контроллер:
<bean id="parentController" class="org.springframework.web.portlet.mvc.SimpleFormController" abstract="true">
<property name="validator" ref="validatorImpl"/>
...
</bean>
и класс, расширяющий его:
<bean id="child1Controller" class="com.portlet.controller.Child1Controller" parent="parentController">
<property name="validator"><null/></property>
...
</bean>
<bean id="child2Controller" class="com.portlet.controller.Child2Controller" parent="parentController">
...
</bean>
, таким образом, что дочерний объект переопределяет свойство в null.
Я знаю, что если вы не объявите свойство ни в родительском, ни в дочернем элементах, вы получите требуемый эффект, но, поскольку в большинстве мест валидатор ссылается на validatorImpl, я думал, что в качестве принципа наследования я смог бы переопределить свойство в null.
Я продолжаю получать:
15: 29: 50,141 ОШИБКА [PortletHotDeployListener: 534] org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем childController, определенным в ресурсе PortletContext [/WEB-INF/context/sugerencia-contex.x : Инициализация компонента не удалась; вложенным исключением является java.lang.NullPointerException
org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем childController, определенным в ресурсе PortletContext [/WEB-INF/context/sugerencia-context.xml]: сбой инициализации компонента; вложенным исключением является java.lang.NullPointerException
С другой стороны,
<bean id="parentController" class="org.springframework.web.portlet.mvc.SimpleFormController" abstract="true">
...
</bean>
<bean id="child1Controller" class="com.portlet.controller.Child1Controller" parent="parentController">
...
</bean>
<bean id="child2Controller" class="com.portlet.controller.Child2Controller" parent="parentController">
<property name="validator" ref="validatorImpl"/>
...
</bean>
Спасибо.