Spring框架1--IOC--笔记

Spring的作用和优势

//整合其他框架,解耦,主要使用Spring容器的两个特性:IoC(控制反转)AOP(面向切面编程)

  • Spring框架是一个整合框架,用于整合其他技术,例如JDBC,Struts,Hibernate等。
  • Spring框架提供一个IOC容器,可以管理程序中的组件,建立组件之间的关联,减低耦合。(Spring的核心功能)
  • Spring还具有AOP,Spring Web MVC功能。

Spring的基本使用方法---重点

1、Spring IOC应用

      a、引入Spring-IOC相关开发包

      b、在src添加一个Spring的配置文件:applicationContext.xml

      c、将程序组件定义到Spring配置文件中(调构造、静态工厂方法、调用对象方法)

      d、实例化Spring的IOC容器对象,从容器获取组件对象

Spring的作用域(<bean>元素属性设置:scope="prototype",默认为singleton)--考虑到线性并发---重点

1、singleton:使用该属性定义Bean时,IOC容器仅创建一个Bean实例(单例),IOC容器每次返回的是同一个Bean实例;

2、prototype:使用该属性定义Bean时,IOC容器可以创建多个Bean实例(原型),每次返回的都是一个新的实例;

3、request:该属性仅对HTTP请求产生作用,使用该属性定义Bean时,每次HTTP请求都会创建一个新的Bean,适用于WebApplicationContext环境;

4、session:该属性仅用于HTTP Session,同一个Session共享一个Bean实例。不同Session使用不同的实例;

5、global-session:该属性仅用于HTTP Session,同session作用域不同的是,所有的Session共享一个Bean实例;

Bean的生命周期回调

1、指定Bean的初始化和销毁方法:

1)scope=“singleton”的Bean组件是在容器创建的时候初始化;

      scope="prototype"的Bean是在ac.getBean()时实例化;

2)init-method指定的初始化方法,会在Bean对象创建后自动执行。(适用于singleton和prototype);

3)destroy-method指定的销毁方法,会在容器close时触发执行(只适用于singleton

Bean延迟实例化(设置<bean>元素的属性lazy-init="true",一般不用)--了解

指定bean依赖关系(用depends-on属性,多个用“,”隔开)--了解

IOC概念:--重点

  • Inversion of Control,即“控制反转”--程序中获取对象的方式发生反转,不用new对象,改用第三方框架创建、注入,从而降低对象之间的耦合度。
  • IOC按照实现方法不同,可以分为依赖注入-DI依赖查找两种
  • Spring容器是采用DI方式实现了IOC控制,IOC是Spring框架的基础和核心
  • DI--Dependency Injection,翻译为“依赖注入”;DI的基本原理是将一起工作关系的对象,通过构造方法参数或方法参数(set方法)传入建立关联,因此容器的工作就是创建bean时注入那些依赖关系,如下面这个例子;
  • IOC是一种思想,而DI是实现IOC的主要技术途径,DI主要有两种注入方式,即Setter注入构造器注入

例子(此处用Setter注入):

 

自动装配(设置<bean>元素的属性autowire=" ",默认为no)

 

待续。。。。。。

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_38644907/article/details/87967990
今日推荐