java Spring控制器将属性注入控制器
@Controller
@RequestMapping("/test")
public class TestController extends AbstractController {
}
public abstract class AbstractController {
private int connectionTimout;
}
在我的servelet.xml
中,我正在注入该属性,但我希望该属性直接在AbstractController中设置,而不是在每个子控制器中设置
<bean id="testController" class="com.test.controller.testController">
<property name="connectionTimeout" value="${rest.connectionTimeout}" />
</bean>
# 1 楼答案
试试看
自动布线使字段可用,即使它是最终的。试试看:
# 2 楼答案
您正在寻找的是bean定义继承。您可以声明一个抽象bean(永远不会被实例化)来保存一些属性定义,并在具体bean声明中将其用作父级。这允许你遵循干燥原则,即使多个豆子具有相同的特性。在这里你可以做:
(参考:Spring框架参考手册中的Bean定义继承)