Spring揭秘(一)spring框架的由来
Spring与EJB
EJB:是为了"服务集群"和"企业级开发",是重量级开发框架。ejb到底是什么
Spring:基于POJO(plain old java object 简单java对象)的轻量级级java开发框架,为构筑应用的pojo提供了各种服务,进而创造了一种适宜用pojo进行轻量级开发的环境。
Spring生命之树
- Core:spring框架的基础。提供了ioc容器的实现,帮助我们使用依赖注入的方式管理对象之间的依赖关系。还包括了一些工具类,如io的相关工具类。
- AOP:以aop的方式增强pojo的能力,进而补足oop(面向对象开发)/oosd(面向对象系统开发)的缺憾。AOP采用proxy模式构建,与IOC容器相结合。
- DAO:数据访问和事务管理的抽象和集成服务。简化jdbc的api使用,集成了多种当前流行的orm框架,如hibernate,ibatis,toplink,jpa等。事务管理是aop的最佳实现,提供了声明式事务管理、编程式事务管理。
- javaee服务集成:集成JNDI、JMS、JAVAMAIL服务,简化使用流程。
- Web模块:提供了一套自己的MVC框架,spring web mvc不排斥其他现有的web框架,如struts,webwork,jsf等,并提供了集成支持。并提供了视图view支持。
spring上层模块需要依赖下层模块才能正常工作,处于同一层级的模块相对独立。
spring家族成员
- spring web flow(swf):构建于spring web mvc之上,简化拥有复杂交互逻辑的Web应用程序的开发。
- spring web service:采用契约优先开发模式,创建文档驱动Web服务的开发框架。
- spring security:为spring企业级应用程序提供安全解决方案
- spring batch:轻量级批处理开发框架。