spring依赖注入(Depondency Injection)

(1)lookup-method

<bean id="engine" class="pojo.Engine"></bean>
<bean id="car" abstract="true" class="pojo.Car">
	   <!-- 从容器中为抽象方法返回对象 -->
	   <lookup-method name="本类的某方法名" bean="bean的id名比如engine"/>
</bean> 
<bean id="lowerCar" class="pojo.LowerCar" parent="指明继承的抽象父类bean的id名比如car"></bean>

(2)property  字符串和基本数据类型设置

<property name=”name”><value>value</value></property>或者<property name=”name”  value=”value”/>

null设置

<property name="name"><null/></property>

属性设为另一个BEAN对象

<property name=”name”><ref bean=”otherbean”></property>

 属性设为另一个BEAN对象,且此对象在同一个文件中定义时

<property name=”name”><ref  local=”otherbean”></property>

当实例只用一次时

<property name="name"><ref class="classpath"></property>

(3)constructor-arg  参数位置默认对应构造方法的参数位置

指定索引的参数位置

<bean id="user" class="pojo.User">
	<constructor-arg index="0"><value>谢霆锋</value></constructor-arg>
	<constructor-arg index="1"><value>1990/04/00</value></constructor-arg>		
</bean>

指定参数名

<bean id="user" class="pojo.User">
	<constructor-arg name="name"><value>谢霆锋</value></constructor-arg>
	<constructor-arg name="birth"><value>1996/04/00</value></constructor-arg>		
</bean>

(4)autowire 自动绑定

byName    其实,自动装配就是让我们少写几个  <ref ="...">

autowire的方便之处在减少或者消除属性或构造器参数的设置,这样可以给我们的配置文件减减肥。

<!--当autowire="byName"这个时候 持久层bean的name 必须与 业务层类 里面要注入的  持久层类成员 名字一样才可以自动装配    --> 
<bean id="userMapper"  class="mapper.UserMapper"></bean>
<bean id="userService" class="service.userService" autowire="byName"></bean> 

byType 

<!--当autowire="byType"这个时候 bean的name随便起 ,可以自动根据类型识别 。要是同时出现两个类型,一样的将会报错--> 
<bean id="aaaaaaxxxxx"  class="mapper.UserMapper"></bean>
<bean id="userService" class="service.userService" autowire="byType"></bean> 

(5)集合对象赋值

list

方式1

<bean id="beanObj" class="com.XX.XX"> 
     <property name="beanLIst"> 
            <list> 
                 <ref bean="bean1" />
                 <ref bean="bean2" />
                 <ref bean="bean3" />
            </list> 
       </property> 
</bean>  

方式2

<bean id="beanList" class="java.util.ArrayList"> <!--这个ArrayList类型bean被多个bean注入--> 
    <constructor-arg index="0">  
            <list>  
                 <ref bean="bean1"/>
                 <ref bean="bean2"/>
                 <ref bean="bean3"/>
            </list>
    </constructor-arg>
</bean>

set

<property name="set">
	<set>
	        <value>this is set</value>
		<ref local="log"/>
	</set>
</property>

map

<property name="map">
		<map>
                   <entry key="map1"><value>这是第一个map</value></entry>
		   <entry key="bean1"><ref local="log"/></entry>
	   </map>	
</property>

properties

<property name="pro">
	<props>     <prop key="pro1">这是第一个prop</prop>       </props>
</property>

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值