#Spring 是什么?
Spring 是一个轻量级的 DI / IoC 和 AOP 容器的开源框架。
优点:
1)方便解耦,简便开发。
2)支持AOP编程
# spring 体系结构
1、data access、
2、web、
3、AOP、
4、core container、
5、test
## core container 核心容器
4大核心:
1)beans beans 容器
2)core 核心
3) context 上下文
4)expression 表达式
# DI、IOC、AOP
## DI:依赖注入
DI为实现IOC思想做支持。
依赖注入有三种方式 1、属性注入 2、构造器注入 3、工厂注入 主要是 1和 2。
如果一个对象依赖于其它的对象,此时就需要注入被依赖的对象,例如:service 依赖与dao, 此时需要在service的bean中注入(ref) dao。
##一些名词
1. property: 用于进行属性注入
1) name :bean的属性名称,通过setter方法获得。
2) ref: 另一个bean的 id 的引用。
2.API
1)BeanFactory: 是一个生成bean的工厂,采取延迟加载bean,在第一次getbean()的时候,才会初始化bean.与ApplicationContext区别。
2)classPathXmlApplicattion: ApplicationContext 的子接口。加载配置文件,相对路径加载,一般架加载src下的文件(运行时的是/WEB-INF/class/xxx)路径。
3)FileSystemXmlApplication:ApplicationContext 的子接口。加载指定盘符下的配置文件。
4)ApplicationContext:上下文,是BeanFactory的子接口,可以自动装配bean、事件传递、国际化、各应用层的context实现。
当配置文件被加载的时候,对象就被实例化了。
## IOC:控制反转
是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由Spring框架来管理。一般情况下,我们去使用某个对象,就需要自己去创建这个对象,
而应用了Spring框架,则从spring容器中获取,把穿甲 对象的控制权反转给了spring框架。
举个简单的例子:正常情况下,想要吃蛋炒饭,你要准备饭、蛋、器材,这些都要你自己准备。
但是如果有饭店做,那么我们直接叫饭店做,然后去取就可以了。这个例子中“饭店”就是spring 的ioc容器。
## spring bean
1、
### 基于xml
#### 实例话方式
3种实例化的方式:
1)默认构造: 使用默认的构造函数,因此被加载的bean 对象的类,必须有一个空参构造函数,否则报错。
2)静态工厂:通过一个静态方法生产bean,它的方法是static的。在bean 中使用 <bean id ="" class ="" factory-method=""> 配置。一般与单例模式结合。
3)实例工厂:必须先有工厂的实例对象,然后通过实例对象去创建对象,所有的方法都是非静态的。
先定义工厂的bean,然后定义需要获取的需要加载对象的bean,再这个对象的bean中配置工厂的id:factory-bean="" 和方法factory-method=""。
#### bean 的生命周期
#### bean 的种类
#### bean 的作用域
scop
单例和多例
# AOP:切面编程-
网友评论