Spring 笔记(四) bean的属性和参数调用

bean调用的新思路,

 

属性注入的原理

就是bean所调用的目标类文件里有需要赋值的参数,在bean中以property的形式注入 或 用构造方法注入

注入后自动匹配需要赋值的变量(参数)

最后bean被实例调用,实例(对象)中的参数是有值的。

 

同样的,目标类文件里有需要赋值的object类时,在property里用ref调用准备好的bean,来给目标类文件里的对象赋值。


Spring 可以通过对Bean的引用,引用简单的值。

利用<Bean></Bean>标签中的<property/>标签,在property里设置值。即setter注入。

<beans ...>

    <bean id="id1" class="class1">

        <property name="parameter" value="pvalue">

    </bean>

</beans>

在class1中有一个需要赋值的参数parameter,在bean的属性中为parameter赋予值pvalue

这样在调用bean1时,class1中的参数是有值的

详细参考

在property里的value里注入自己想要用的值,即可引用。

 



Spring还可以在DI的帮助下将各个Bean连接起来。

可以用<property>元素的ref属性为Bean属性指定Bean引用。

ref属性通过传递另一个bean的引用来设置bean的指定属性的值。

首先需要建立一个bean

<bean id="bean1" class="class1"></bean>

再建立其他的bean

<bean id="bean2" class="class2">

    <property name="ref1" ref="bean1"/>

</bean>

在class2中有一个class1对象需要赋值,就需要在bean2里做准备

准备好class1对应的bean1,在bean2中用ref属性调用bean1,这样bean2 对应的class2里的class1对象就有了值

 

 


构造函数注入

 

注入属性还可以用构造方法注入

<constructor-arg name="parameter" value="value">

 

详细可以查看 spring 属性注入(新)

 

如:

package  SettetInject;

public class FootballPlayer{

    private int number;

    

    public FootballPlayer(){}

    

    public FootballPlayer(int number){

 

        this.number=number;

    

    }

 

    public void play(){

 

        System.out.println("the number is "+ number);

 

    }

}

 

<bean id="bean1" class="SetterInject.FootballPlayer">

 

    <constructor-arg value="15">

    <!--声明目标函数中需要的参数为15-->

    <!--当目标类文件只有一个属性(变量)时,可以不写name-->

 

</bean>

 

无论是哪种注入属性的方法,都需要保证name和目标类的参数(变量)一致

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值