Spring的IOC及bean的装配

来源:互联网 发布:ssl端口是什么 编辑:程序博客网 时间:2024/04/28 00:19

Spring:

    轻量级的开源框架;通过控制反转的技术达到松耦合的目的;提供面向切面编程的支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发;包含并管理应用对象的配置和生命周期。

 

IOC:控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护。

DI:依赖注入,分为设值注入和构造注入。

    设值注入:自动调用set方法。在UserInfoActionImpl中必须要有一个setUserinfoDAO()

 

    构造注入:自动调用构造方法,在UserInfoActionImpl中必须要有一个参数是userinfoDAO的构造方法。

 

 

Bean配置项:

    id:IOC容器中的唯一标识

    class:具体实例化的类

    scope:范围,作用域

        singleton(单例):一个bean容器中只存在一个

        prototype:每次请求(每次使用)创建新的实例,destory方式不生效。

        request:每次http请求创建一个实例且仅在当前request内有效。

        session:每次http请求创建一个实例且仅在当前session内有效。

        global session:基于portlet的web中有效。如果在web中,同session。

    constructor arguments:构造器的参数

    properties:属性

    autowiring mode:自动装配模式

    lazy-initialization mode:懒加载模式

    initialization/destruction method:初始化/销毁

 

Bean的生命周期:

    定义:

    初始化:

        实现org.springframework.beans.factory.InitializingBean接口,覆盖afterPropertiesSet方法。初始化的工作可以在做这个方法中实现。

        配置xml文件中init-method

 

    使用:

    销毁:

        实现org.springframework.beans.factory.DisposableBean接口,覆盖destroy方法。

        配置xml文件中destroy-mothod

 

    配置全局默认初始化、销毁方法:

        在beans中配置:default-init-method=”init” default-destroy-method=”destroy”


Bean的自动装配:

    no:不做任何操作,默认

    byName:根据属性名进行自动装配。检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。

    byType:如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配;如果存在多个,则抛异常。

    constructor:如果容器中存在一个与参数类型与指定属性相同的构造器,则自动装配。


原创粉丝点击