-
简化开发:降低企业级开发的复杂性
-
框架整合 :高效整合其它技术,提高企业级应用开发与运行效率。
优点:
-
Spring是一个开源的免费的框架
-
Spring是一个轻量级的,非入侵式的框架
-
控制反转(IOC),面向切面编程(AOP)
-
支持事务的处理,对框架整合的支持。
总结:Spring就是一个轻量级的控制反转(IOC)和面向切面(AOP)编程的框架!
核心概念
Core :Ioc 容器
IOC 控制反转
-
使用对象时,由主动new产生对象转换为由外部提供对象, 此过程中对象创建控制权由程序转移到外部,此思想被称为控制反转。
-
Spring提供了一个容器,称为IoC容器,用来充当IOC思想中的“外部”。
-
IOC容器负责对象的创建,初始化等一系列工作,被创建或者被管理的对象在IOC容器中统称为Bean。
DI 依赖注入
在容器中建立bean与bean之间的依赖关系的整个过过程,称为依赖注入。
**目标:充分解耦
-
使用IOC管理bean(IOC)
-
在ioc容器内将有依赖关系的bean进行关系绑定。(DI)
最终效果
*使用对象时不仅可以直接从Ioc容器中获取,并且获取到的bean已经绑定了所有的依赖关系。
*XML开发
实例化Bean的三种方式
-
无参构造方法
-
静态工厂
-
要有创建一个静态工厂。
-
配置的话class属性是这个工厂类,还需要指明那个方法(了解)
-
-
实例化工厂(了解)
-
beanFactory工厂(实用)
package com.yang.factory;
import com.yang.dao.BookDao;
import com.yang.dao.impl.BookDaoImpl;
import org.springframework.beans.factory.FactoryBean;
public class BookDaoFactoryBean implements FactoryBean<BookDao> {
Bean的生命周期
-
初始化容器
-
创建对象(分配内存)
-
执行构造方法
-
执行属性注入(set操作)
-
执行bean初始化方法
-
-
使用bean
-
执行业务操作
-
-
关闭销毁
-
执行bean的销毁方法
-
容器关闭前触发bean的销毁
-
手动关闭 ConfigurableApplictionContext接口中的close()
-
注册钩子 registerShutdownHook()
-
-
依赖注入方式
-
setter 注入
-
简单类型
-