Spring 整体架构
1:IoC容器
2:AoP模块
Spring分类: 3:封装的JavaEE服务
4:作为中间的驱动组件
5:其他作为上下层的应用
Spring的分层架构
1. SpringIOC:首先包含了最为基本的IoC容器的BeanFactory的接口与实现,然后Spring还设计了IoC容器的高级形态ApplicationContext应用上下文供用户使用,还有Spring还提供了在IoC容器的外围提供其他的支持
2. SpringAOP:Spring继承了AspectJ作为AOP的一个特定实现,后续补充。
3. SpringMVC:Spring MVC以DispatcherServlet为核心,实现了MCV模式,包括怎样与Web容器环境的集成,Web请求的拦截、分发、处理和ModelAndView数据的返回,以及如何集成各种UI试图展现和技术。
4. SpringJDBC/ORM:Spring JDBC包提供了JdbcTemplate作为模板类 ,封装了基本的数据库操作方法 ,如数据的查询、更新等 ,Spring还提供了许多模版对象,如HibernateTemplate这样的工具来实现对Hibernate的驱动
5. Spring事务处理:S p r i n g事务处理是一个通过 S p r i n g AO P实现自身功能增强的典型模块 。在这个模块中, S p r i n g把在我们开发的事务处理过程抽象出来 ,并且简洁地通过 A O P的切面增强实现了声明式事务处理的功能 ,这个声明式事务处理的实现 ,使应用只需要在 I o C容器中对事务属性进行配置即可完成 。因为使用了声明式事务处理 ,这些具体的事务处理机制被纳入 S p r i n g事务处理的统一框架中完成 ,并完成与具体业务代码的解耦 。
6. Spring远端调用:通过这一层的封装,使应用可以通过选择不同的远端调用来实现
附加:Spring的应用带来的一个好处就是能够将应用解耦,解耦的好处是1:可以降低设计的复杂性2:可以在解耦以后将应用模块分布式地部署,从而提高系统整体的性能
SSH架构:Struts最为Web UI层,Spring最为中间平台,Hibernate最为数据持久化工具(ORM工具)来操作关系数据库
Spring的价值:
1. Spring是一个非侵入式框架,目标是是应用程序代码对框架的依赖最小化
2. Spring提供了一个一致的编程模型,使应用直接使用POJO开发,从而与运行环境隔离开来
3. Spring推动应用的设计风格面向对象与面向接口,提高代码的可重用性与可测试性
4. Spring改进了体系结构的选择