spring应用手册-IOC(XML配置实现)-(14)-bean标签中的parent属性

    科技2022-07-11  137

    戴着假发的程序员出品

    bean标签中的parent属性

    spring应用手册(第一部分)

    parent属性可以让当前的bean继承指定的目标bean的属性值。

    案例:我们添加要给SubAccountService类。

    /** * @author 戴着假发的程序员 * @company http://www.igeekhome.com * @description */ public class SubAccountService { private IAccountDAO accountDAO; public void setAccountDAO(IAccountDAO accountDAO){ this.accountDAO = accountDAO; } public void subSave(String name){ System.out.println("SubService-subSave:"+name); accountDAO.save(name); } }

    在类级别上SubAccountService和AccountService没有继承关系。但是在配置上我们可以配置继承关系:

    <!-- 注册accountDAO_oracle --> <bean id="accountDAO_oracle" primary="true" class="com.dk.demo1.dao.impl.AccountDAO_oracle"/> <!-- 注册accountService --> <bean id="accountService" abstract="true" autowire="byType" class="com.dk.demo1.service.AccountService"/> <!-- 配置subService继承AccountService --> <bean id="subAccountService" parent="accountService" class="com.dk.demo1.service.SubAccountService"/>

    测试:

    @Test public void testSpringParent(){ //创建spring容器 ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); SubAccountService accountService = ac.getBean(SubAccountService.class); accountService.subSave("戴着假发的程序员"); }

    从配置和测试中我们可以看出来,SubAccountService不光可以继承AccountService的属性值,还可以进行覆盖。

    Processed: 0.010, SQL: 8