1.简介:
JavaBean用来充当Java Web应用的模型组件。
JSP和Servlet可以调用JavaBean来完成功能强大的业务逻辑操作。
J2EE中最流行的框架。
核心:IOC,AOP
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架,它主要是为了解决企业应用开发的复杂性而诞生。
目的:解决企业应用开发的复杂性
功能:使用基本的JavaBean代替EJB
范围:任何Java应用
存在原因:
- 定位的领域是许多其他流行的framework没有的
- Spring是全面和模块化的
- 它的设计从底部帮助你编写易于测试的代码
- spring是潜在的一站式解决方案
Spring的优点:
- 低侵入式的设计,代码污染极低
- Write Once, Run Anywhere
- DI有效的降低了耦合度
- AOP提供了通用任务的集中管理
- ORM和DAO简化了对数据库的访问
- 高度的开放性,并不强制(可选择一部分)
Spring的有点给开发者带来了好处:
- 可以有效组织中间层对象
- 使用同一的配置文件
- 促进良好的编程习惯,减少编程代价
- 易于单元测试
- 使EJB成为一种备选
- 为数据存取提供了一种可行方案
Spring特点:
- 方便解耦,简化开发
- AOP编程的支持
- 声明式失误的支持
- 方便程序的测试
- 方便集成各种优秀框架
- 降低了JavaEE API的使用难度
- Spring的源码是经典的学习范例
Spring的核心模块:
- 核心容器(Spring Core)
- 应用上下文(Spring Context)
- AOP模块(Spring AOP)
- JDBC和DAO模块(Spring DAO)
5.对象实体映射(Spring ORM) - Web模块(Spring Web)
- MVC模块(Spring Web MVC)
2.Spring 之 IoC
目标:
1)浅谈IoC
2)IoC理论的背景
3)依赖注入(DI)
4)IoC的好处
5)IoC的通俗理解
IoC简介:
IoC(Inversion of Control, 控制反转)是spring的核心,贯穿始终。所谓IoC,对于Spring框架来说,就是由spring来负责控制对象的生命周期和对象间关系。
传统开发模式:对象之间相互依赖
IoC开发模式:IoC容器安排对象之间的依赖
3.Bean创建的细节
<bean id="user" class="com.ypd.a.entity.User" scope="singleton">
</bean>
scope
默认就是singlone,单例。
可以不写scope=“singlon”
scope="singlon" 默认值。单例。 【service/dao/工具类】 在启动(容器初始化之前),就创建。
scope="prototype" 多例。 【Action对象】 在用到对象的时候再创建对象。
lazy-init="true" 懒加载。 默认是false.不延迟创建,即在启动时候就创建。延迟初始化,在用到的对象都配置在这里。只对singleton单例有效。
创建对象后,初始化/销毁
init_method="init_xxx" 【对应对象的init_xxx方法】在对象创建之后执行。
destory_method="destory_xxx" 【对应对象的destory_xxx方法】