• JavaEE笔记(十)


    #Spring

    为了配置bean对象和维护bean对象之间关系的一个容器框架

    #三种注入方法

    1 Setter注入
    2 构造参数注入
    3 注解注入(原理同1)

    #自动装配(autowire)

    模式说明
    no

    不使用自动装配。必须通过ref元素指定依赖,这是默认设置。由于显式指定协作者可以使配置更灵活、更清晰,因此对于较大的部署配置,推荐采用该设置。而且在某种程度上,它也是系统架构的一种文档形式。

    byName

    根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。例如,在bean定义中将autowire设置为by name,而该bean包含master属性(同时提供setMaster(..)方法),Spring就会查找名为master的bean定义,并用它来装配给master属性。

    byType

    如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配。如果存在多个该类型的bean,那么将会抛出异常,并指出不能使用byType方式进行自动装配。若没有找到相匹配的bean,则什么事都不发生,属性也不会被设置。如果你不希望这样,那么可以通过设置dependency-check="objects"让Spring抛出异常。

    constructor

    byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常。

    autodetect

    通过bean类的自省机制(introspection)来决定是使用constructor还是byType方式进行自动装配。如果发现默认的构造器,那么将使用byType方式。

    采用注入,自动装配(autowire)就失效了

     #Bean作用域

    作用域描述

    singleton

    在每个Spring IoC容器中一个bean定义对应一个对象实例。

    prototype

    一个bean定义对应多个对象实例。

    request

    在一次HTTP请求中,一个bean定义对应一个实例;即每次HTTP请求将会有各自的bean实例,它们依据某个bean定义创建而成。该作用域仅在基于web的Spring ApplicationContext情形下有效。

    session

    在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。

    global session

    在一个全局的HTTP Session中,一个bean定义对应一个实例。典型情况下,仅在使用portlet context的时候有效。该作用域仅在基于web的Spring ApplicationContext情形下有效。

    默认作用域为singleton(单例模式)。

    我不作恶

    但有权拒绝为善

    我不赞同

    但是我捍卫你不为善的权力

  • 相关阅读:
    sql语句执行顺序
    ThinkPHP的入门学习目录结构及基础知识
    IE6的PNG透明解决方案
    用CSS画三角形
    position:sticky介绍 页面滚动导航条始终在最顶部的实现方法
    那些年我们一起清除过的浮动
    "自适应网页设计"到底是怎么做到的?其实并不难。
    jQuery formValidator表单验证插件(详解)
    学习10分钟,改变你的程序员生涯【转载】
    最差的时光 枯木
  • 原文地址:https://www.cnblogs.com/HackerBlog/p/6139665.html
Copyright © 2020-2023  润新知