Spring中 Bean的高级依赖

Spring中bean的依赖可以是某个类的field值,某个方法的返回值,或者某个bean的property值

 

(1)某个bean属性值的注入

    通过PropertyPathFactoryBean类完成,用来获得某个bean的属性值,获得的值可以注入其他bean,也可以直接定义成新的bean

 

   如果某个bean的某个property值是一个bean,可以用这个bean生成一个新的bean,如果是一个基本类型,也可以定义成为一个新的bean,生成一个新的bean时,并不能够确定该bean的实现类型,因此在客户应用程序中不要指定bean的类型。

   利用PropertyPathFactoryBean需要提供两个属性值

     targetBeanName:确定获取哪个bean的属性值

    propertyPath:用于指定获取目标bean的哪个属性值

 

(2)field值的依赖注入

 

    FieldRetrievingFactoryBean用来获得目标bean的field值,获得的值可以注入其他bean,也可以直接定义成新的bean

 

 (3)方法返回值的注入通过MethodInvokingFactoryBean类完成,MethodInvokingFactoryBean用来获得某个方法的返回值,该方法既可以是静态方法,也可以是实例方法。

   使用bean实例的方法返回值注入,通过MethodInvokingFactoryBean完成,需要指定一下两个属性:

      targetObject:确定目标bean,该墓可以是容器中已经有的bean,也可以是嵌套的bean

      targetMethod:确定目标方法,确定通过目标bean的哪个方法返回值注入

   如果是静态方法的返回值,则需要指定

       targetClass和targetMethod两个方法

 

高级依赖注入时,可以设置bean的属性,也可以生成新的bean

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值