Spring IoC-注入方式

1,构造器注入:通过在bean定义中指定构造器参数。

2.setter注入。

Bean容器注入依赖资源依赖的资源可以使bean,文件,数据常量。由容器负责组装。

1.构造器注入:

<bean>

 <contructor-arg='' index='' value=''/>

</bean>

构造器通过参数索引、参数类型注入:

1)参数索引注入,constructor-arg index="1" value="1"/>来指定注入的依赖,其中“index”表示索引,从0开始,即第一个参数索引为0,“value”来指定注入的常量值

2)参数类型注入,<constructor-arg type="java.lang.String" value="Hello World!"/>”来指定注入的依赖,其中“type”表示需要匹配的参数类型,可以是基本类型也可以是其他类型

 

3)参数名进行注入,使用标签“<constructor-arg name="message" value="Hello World!"/>”来指定注入的依赖,其中“name”表示需要匹配的参数名字,“value”来指定注入的常量值

 

1)常量值

简写:<constructor-arg index="0" value="常量"/>

全写:<constructor-arg index="0"><value>常量</value></constructor-arg>

2)引用

简写:<constructor-arg index="0" ref="引用"/>

 

全写:<constructor-arg index="0"><ref bean="引用"/></constructor-arg>

 

JavaBean:是本质就是一个POJO类,但具有一下限制:

 

         该类必须要有公共的无参构造器

         属性为private访问级别,不建议public,如private String message;

 

         属性必要时通过一组setter(修改器)和getter(访问器)方法来访问

       setter方法,以set” 开头,后跟首字母大写的属性名,如“setMesssage”,简单属性一般只有一个方法参数,方法返回值通常为“void”;

 

        getter方法,一般属性以get开头,对于boolean类型一般以is开头,后跟首字母大写的属性名,如“getMesssage”,“isOk”;

 

2.setter注入:

注入bean:

<property name="id"><idref local="bean2"/></property>

<property name="id"><idref bean="bean2"/></property>

        1)常量值

        简写:<property name="message" value="常量"/>

        全写:<property name="message"><value>常量</value></ property>

       2)引用

        简写:<property name="message" ref="引用"/>

        全写:<property name="message"><ref bean="引用"/></ property>

       3)数组:<array>没有简写形式

       4)列表:<list>没有简写形式

       5)集合:<set>没有简写形式

       6)字典

          简写:<map>

             <entry key="键常量" value="值常量"/>

             <entry key-ref="键引用" value-ref="值引用"/>

            </map>

         全写:<map>

             <entry><key><value>键常量</value></key><value>值常量</value></entry>

             <entry><key><ref bean="键引用"/></key><ref bean="值引用"/></entry>

           </map>

 

       7)Properties:没有简写形式

 

-----------------------------------------------------------------------------------------------------------------------------

延迟初始化Bean:惰性初始化,不提前初始化Bean,而是只有在真正使用时才创建及初始化。配置方式:在<bean>标签上指定 “lazy-init” 属性值为“true”

延迟初始化的Bean通常会在第一次使用时被初始化;或者在被非延迟初始化Bean作为依赖对象注入时在会随着初始化该Bean时被初始化

 

spring 自动装配:

由spring自动依赖对象。@Autowired注解方式,自动装配减少构造器注入和setter注入配置,通过配置<bean>标签的autowire属性来改变自动装配方式

default表示使用默认的自动装配,默认的自动装配需要在<beans>标签中使用default-autowire属性指定,其支持nobyName byTypeconstructor四种自动装配

 

猜你喜欢

转载自flycw.iteye.com/blog/2358964