spring01

框架特点

1.专业的人员编写好的程序,一般是实现了某种设计思想. 2.框架经过大量项目实践,之后才推出(Apache) 3.学习者:先了解框架结构、学习使用、

最后再去了解底层原理

Spring框架

Spring框架主要功能

1. Spring IOC容器(核心)

2. Spring DAO应用

3. Spring Web MVC应用

4. Spring ORM应用

5. Spring AOP应用

SpringWebMVC+SpringIOC+MyBatis(SSM)

Struts+Spring+Hibernate(SSH)

Spring IOC容器

1. IOC概念 Inversion of Control 控制反转/反向控制

//组件耦合度太高,替换DeptDao需要修改DeptServlet

DeptServlet-------------->DeptDao

new DeptDao();

//初始化

使用DeptDao.findAll

//释放对象资源

Spring提供了一个IOC容器,容器能够创建管理组件对象,并且能将对象给其他组件对象注入。

2. IOC容器优点

可以降低组件之间的耦合度,提升程序扩展性和移植性。

Spring IOC容器的使用

IOC容器对组件对象的管理

1. 创建容器对象

List list = new ArrayList();//创建集合对象

list.add(person);//放入元素

list.get(1)//获取元素

//创建容器对象

ApplicationContext ac = new ClassPathXmlApplicationContext(xml);

向xml文件中追加组件定义;//放入组件元素

ac.getBean("id");//获取组件对象


2. IOC容器使用过程


3. 对象创建

*方案1:new 构造器()

方案2:类.静态方法

方案3:对象.方法

1. 对象特性

scope单例/非单例 *

默认情况下,IOC容器采用单例模式创建组件对象。(一个bean组件只有一个对象) 如果需要改变成非单例,可以在追加scope="prototype",默

认是singleton

init-method对象初始化

在< bean>元素中使用init-method属性指定一个初始化方法,当bean对象创建后会自动调用init-method指定方法执行初始化逻辑.

destroy-method释放对象

在< bean>元素中使用destroy-method属性指定一个销毁方法,该方法需要满足以下条件

a.组件scope=singleton

b.触发容器对象的close方法(AbstractApplicationContext)

lazy-init对象创建时机

a.scope=singleton模式,对象创建是在ApplicationContext容器创建时创建。

通过lazy-init="true"属性可以将对象创建推迟到getBean方法调用时。

b.scope=prototype模式,对象创建是在ac.getBean("id")时创建。

IOC容器实现对象关系注入

DI概念:Dependecy Injection 依赖注入。

依赖注入可以分为set方法注入、构造器注入。最常用的是set注入。

1. set注入

组件中必须有setXxx方法,使用该方法接收配置中指定的值。

2. 构造器注入

IOC综合案例(尝试理解,后续还会继续讲解)


你可能感兴趣的:(spring01)