1.14bean标签中的parent属性

戴着假发的程序员出品

[查看视频教程]

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

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

 1 /**
 2  * @author 戴着假发的程序员
 3  * @company http:// 
 4  * @description
 5  */
 6 public class SubAccountService {
 7     private IAccountDAO accountDAO;
 8     public void setAccountDAO(IAccountDAO accountDAO){
 9         this.accountDAO = accountDAO;
10     }
11 
12     public void subSave(String name){
13         System.out.println("SubService-subSave:"+name);
14         accountDAO.save(name);
15     }
16 }

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

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

测试:

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

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

 

posted @ 2020-10-04 10:38  戴着假发的程序员0-1  阅读(249)  评论(0)    收藏  举报