关于 IOC和spring基本配置详解

Spring 中的两个概念

IOC控制反转(也叫依赖注入DI):

AOP面向切面编程:

控制反转:当某个java对象需要(依赖)另一个java对象是,不是直接创建依赖对象,而是由实现IOC的容器来创建,并将它注入需要这个依赖对象的JAVA对象中;

一、Spring的依赖注入

  1. 构造器注入
  2. 设置(set方法)注入
  3. 接口注入(很少使用)

二、XML装配bean属性的含义

  1. Id指定该bean的唯一标识
  2. Class指定该bean的全限定名称
  3. Name 为该bean指定一个到多个别名
  4. Autowire 指定该bean属性的装配方式
    1.  no 不使用自动装配,必须通过ref元素指定依赖;
    2. byname 根据属性名自动装配:过程将检查容器并根据名字查找属性完全一致的bean,并将其属性自动装配(没有property属性)
    3. bytype 如果容器中存在一个与指定属性类型相同的bean,那么将该属性自动装配;如果存在多个给类型的bean,那么将会抛出异常;(没有property属性)
    4. constructor:与bytype的方式类似,不同之处在于他应用于构造器参数;如果在容器中没有找到与构造器参数类型一致的bean,那么将抛出异常(没有property属性)
    5. autodetect:通过bean类的自省机制来决定是使用constructor还是bytype方式进行自动装配;
  5. scope:指定该bean的生存范围(存活时间)
    1. single 在一个容器中都存在一个实例,所有对给类型bean的依赖都引用这一单一实例
    2. property 每次都会重新生成一个新的对象给请求方
    3. request,session和global session 这三个类型只适用于web程序通常和XMLWEBApplicationContext共同适用
      1. request 容器会为每个http请求来生成一个对象
      2. session 为每个session创建一个对象
      3. global session
  6. Init-method 指定该bean的初始化方法;destory-method 指定该bean销毁方法
  7. Abstract 指定该bean是否为抽象的,如果是抽象的,则spring不会为他创建实例
  8. Parent 使用继承来减少配置工作
原文地址:https://www.cnblogs.com/wangjianly/p/9647255.html