spring 控制反转与注入

一、通过构造方法注入

1.1、例子

202243_ndzu_3648248.png

 

202121_EJf5_3648248.png

 

1.2、注意

1、通过构造函数创建Bean对象,如果构造函数有多个的话,可以采用index(第几个参数确定具体的构造函数,也可以通过type这个字段,更加可以采用两者结合)。

2、注意普通类型用value,但是对于对象的话,用ref=""。

 

    <bean id="car2" class="com.jeff.spring.demo.ioc.helloword.Car" >
        <constructor-arg value="现代公司" type="java.lang.String"/>
        <constructor-arg value="现代" type="java.lang.String"/>
        <constructor-arg value="100000F" type="java.lang.float"/>
    </bean>

通过type类型创建对象也是可以的,但是这里抛了异常(不知道为什么)。(不推荐用这种方式)

 

二、详解bean属性

       参考:http://blog.youkuaiyun.com/supportuat/article/details/50652935

bean属性 
id该bean对象的唯一ID
abstract

true代表这个bean不能实例化,相当于抽象类,与parent属性结合用,这样的话,可以继承这个抽象bean的属性了。

参考:https://my.oschina.net/u/1984151/blog/295996

autowire-candidate这个bean是否作为其它bean注入的候选者,如果设置false的话,这个bean就不会考虑为被另一个Bean注入。
 autowire

自动装配

http://www.cnblogs.com/ViviChan/p/4981539.html

depends-on若A depends-on B 意思是实例化A之前必须先实例化B,但A不需要持有B的实例
destroy-method该对象的销毁的时候会调用的函数(释放资源)
factory-bean通过实例工厂方法创建bean,class属性必须为空,factory-bean属性必须指定一个bean的名字,这个bean一定要在当前的bean工厂或者父bean工厂中,并包含工厂方法。而工厂方法本身通过factory-method属性设置
factory-method创建Bean的工厂方法。factory-bean工厂Bean,与factory-method配合使用,通过factory-bean的factory-method 创建Bean
init-method该对象的创建的时候会调用的函数(初始化)
lazy-inittrue表示该bean是懒加载,容器初始化的时候不进行初始化。只有要用到这个Bean的属性或者方法的时候才会创建实例对象。也就是得到的是一个代理对象。
namebean的name,一般不用,一般用ID即可
parent已经讲解,结合abstract
primaryprimary属性为true,自动装配时当出现多个Bean的候选者时,属性primary=true的Bean被作为首选者,不然将抛出异常
scopesingleton(单例,默认) prototype(多例)

 

转载于:https://my.oschina.net/u/3648248/blog/1558327

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值