Spring DI 继承

本文介绍如何在Spring框架中通过配置实现Bean的继承,利用抽象Bean避免重复定义公共属性,并通过子Bean继承抽象Bean来实现特定的功能。具体展示了CommonDao作为抽象类提供基本的CRUD操作,而PersonDao作为其子类继承这些操作。
摘要由CSDN通过智能技术生成
    CommonDao:实现了CRUD操作

        令PersonDao 继承 CommonDao


    1、建包 spring_extends/cn.google.spring.extend

		public class   CommonDao{
			public  void  saveEntity(){
				s.o.p("save  entity");
			}

			public  void  updateEntity(){
				s.o.p("update  entity");
			}
		}

    2、建 PersonDao.java

		public  class  PersonDao  extends  CommonDao{

		}

    3、建配置文件 applicationContext-extends.xml

		<!--
			abstruct  告诉 spring容器,该类不能创建对象
		-->
		<bean  id="commonDao"  class="cn.itcast.spring.extend.CommonDao"   abstract="true"></bean>

		<!--
			parent  告诉 spring容器,该类继承父类的属性
		-->
		<bean  id="PersonDao"  class="cn.itcast.spring.extend.PersonDao"   parent="commonDao"></bean>

    4、测试类ExtendsTest

	public  class  ExtendsTest{
		@Test
		public  void  test(){
			ApplicationContext  context = new ClassPathXmlApplicationContext("cn/itcast/spring/extends/applicationContext-extends.xml");
			CommonDao  commonDao  = context.getBean("commonDao");		// 报错
			PersonDao  personDao  = context.getBean("personDao");	
			PersonDao.saveEntity();
		}
	}
 

   5、总结:
        关于继承
            1、如果一个类在 spring 配置文件中,但是不想让整个类创建对象,则用abstract ="true"
            2、如果让一个子类使用父类属性,则 parent="commonDao"




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值