在java类中当一个action类继承一个基础类时,在基础类中定义了一个公共的属性,而该公共的属性是通过set注入的方式注入到基础类中的,当在action子类中调用该公共属性时,在子类中却出现该公共属性的值为空的现象,初始的配置如下:
基础类:
private AuctionManager auctionManager;
public AuctionManager getAuctionManager() {
return auctionManager;
}
public void setAuctionManager(AuctionManager auctionManager) {
this.auctionManager = auctionManager;
}
子类:
//调用业务逻辑组件来验证用户的输入
int userId = this.getAuctionManager().vaildLogin(userName, password);
spring的applicationContext.xml配置如下:
<bean id="baseAction" class="com.ebuy.action.BaseAction">
<property name="auctionManager" ref="auctionManager" />
</bean>
<bean id="welcome" class="com.ebuy.action.WelcomeAction"/>
大体看上去是没有多大问题的,可是怎么就出现了公共属性auctionManager在子类中为空的情况呢?后来去查找才发现如果要在子类中引用父类的属性,就必须在applicationContext.xml配置文件中的子类welcome的bean上添加上parent="baseAction"这个属性,添加完这个属性在运行程序时就能正常执行了。
基础类:
private AuctionManager auctionManager;
public AuctionManager getAuctionManager() {
return auctionManager;
}
public void setAuctionManager(AuctionManager auctionManager) {
this.auctionManager = auctionManager;
}
子类:
//调用业务逻辑组件来验证用户的输入
int userId = this.getAuctionManager().vaildLogin(userName, password);
spring的applicationContext.xml配置如下:
<bean id="baseAction" class="com.ebuy.action.BaseAction">
<property name="auctionManager" ref="auctionManager" />
</bean>
<bean id="welcome" class="com.ebuy.action.WelcomeAction"/>
大体看上去是没有多大问题的,可是怎么就出现了公共属性auctionManager在子类中为空的情况呢?后来去查找才发现如果要在子类中引用父类的属性,就必须在applicationContext.xml配置文件中的子类welcome的bean上添加上parent="baseAction"这个属性,添加完这个属性在运行程序时就能正常执行了。