Spring【1】
概述
- 框架:在一定约束下的具有支撑性的半成品项目
- 项目:框架+业务逻辑
- 六大框架:Structs1,Structs2,hibernate,mybatis,spring,springMVC
- MVC框架:Structs1(淘汰),Structs2(淘汰),springMVC
- 持久层框架:hibernate,mybatis
- SSM:spring,springMVC,mybatis
- spring:整合型框架,设计型框架。开源。是一个IOC和AOP容器框架
Spring特点
- 非侵入性:基于Spring开发的应用中的对象可以不依赖于Spring的API
- 依赖注入:DI,反转控制(IOC)最经典的实现
- 面向切面编程:AOP(对面向对象的补充)
- 容器:Spring是一个容器,包含并管理应用对象的生命周期
- 组件化:实现了使用简单的组件(Spring管理的对象)配置组合成一个复杂的应用。在Spring中可以使用XML和Java注解组合使用这些对象。
- 一站式:在IOC和AOP基础上可以整合各种企业应用的开源框架和优秀的第三方类库(spring自身也提供了表述层的springMVC和持久层的springJDBC)
Spring模块
IOC和DI
- 反射
- IOC容器在最底层实质是对象工厂
- spring提供了IOC容器的两种实现方式
– BeanFactory:IOC容器的基本实现,是Spring内部的基础设施,是面向Spring本身的,不是提供给开发人员使用的。
– ApplizationContext:BeanFactory的子接口,提供了更多高级特性。面向Spring 的使用者,几乎所有场合都使用ApplicationContext。而不是底层的BeanFactory。 - 初始化时创建单例的bean,也可以通过配置的方式指定创建的bean是多例的。
给bean的属性赋值
- 依赖注入方式:set方法、bean的构造器
- P名称空间
- 可以使用的值:字面量、其他的bean、bean的级联、外部bean、内部bean(局部性)、null