spring 内核:
一、 Inverse of Control , IOC 控制反转 (AOP、声明式事务等功能都是依赖控制反转的)
控制反转:通过容器来控制业务对象之间的依赖关系,而非传统实现中,由代码直接操控。
控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用
转移到了外部容器,控制权的转移就是所谓的反转。控制权的转移降低了业务对象之间的依赖程度。
传统依赖代码例子:
public class userController{
public String login (){
userService = new UserServiceImpl( );
}
}
上段代码中userController 负责 依赖对象 userService 的创建和维护
二、Aspect Oriented Programming, AOP 面向切面编程 DI 和AOP 是spring框架最核心的部分
POJO: Plain Old Java Object
spring 的源码处处体现出对java设计模式的灵活运用
spirng框架 大概有1400多个类, 按功能划分为5个主要模块:
1、数据访问和集成: JDBC、ORM、OXM、JMS、事物管理
2、web及远程操作 : MVC 、Portlef 、Web Service
3、测试框架
4、Aop
5、IOC
spring 特点:
1、通过Spring 提供的IOC容器,可以将对象之间的依赖关系交由Spring 进行控制,避免过度的程序耦合
2、AOP编程的支持
3、声明式事物的支持
4、方便集成各种优秀的框架
Bean :
1、Spring 中使用Bean 来表示应用组件
2、Spring 中使用Ioc容器(实现Ioc) 来管理Bean 的生命周期
3、Spring 中使用Ioc容器(实现DI <Dependency Injection 依赖注入>)来自动完成Bean与Bean 的依赖关系
DI:在系统运行中,动态的向某个对象提供它所需要的其他对象。
依赖注入的方式:
1、构造器注入
2、方法注入
3、接口注入
spring的IOC容器只支持构造器注入和方法注入
依赖注入是组装应用对象的一种方式,对象无需知道依赖来自何处或者依赖的实现方式。依赖对象通常只能通过接口
了解所注入的对象,这样确保低耦合
BeanFactory(spring 框架最核心的接口,提供了高级IOC的配置机制。BeanFactory 使管理不同类型的java 对象称为可能)
BeanFactory是Spring 框架的基础设施,属于底层封装组件;ApllicationContext面向Spring框架的开发者,属于上层疯转组件,专门供开发者使用
Bean在spring 中的生命周期?