您的位置:首页 > 编程语言 > Java开发

Spring设计目标以及架构

2016-06-22 22:13 309 查看
1、Spring设计目标

   Spring是一个开源框架。Spring是为了解决企业及应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现只有EJB才能完成的事。但是Spring也不仅仅局限于服务器开发,任何Java应用都能在简单性、可测试性和松耦合等方面从Spring中获益。

    Spring的设计理念和最终目标就是简化Java开发,而且是致力于全方位简化Java开发。为了降低Java开发的复杂性,Spring采取了以下4个关键策略:

      基于POJO的轻量级和最小侵入编程;
      通过依赖注入和面向接口实现松耦合;
     基于切面和惯例进行声明式编程;
     通过切面和样板减少样板式代码。

2、Spring基本架构

               


Spring IoC :包含了最基本的Ioc容器BeanFactory的接口以及实现,也就是说在该核心包中,不仅定义了Ioc容器的最基本接口(BeanFactory),也提供了一系列的接口实现,如XmlBeanFactory就是一个最基本的BeanFactory。为了让应用更方便的使用Ioc容器,还在Ioc的外围提供了其他支持,包括Resource访问资源的抽象和定位等。另外除了BeanFactory最基本的容器形式之外,Spring还设计了Ioc容器的高级形态ApplicationContext应用上下文供用户使用,如FileSystemXmlApplicationContext、ClassPathXmlApplicationContext,对应于来说,是Ioc容器面向框架的使用方式,同样为了使用方便,提供了像国际化的消息源和应用支持事件这些特性。
Spring AOP:这也是Spring的核心模块,围绕Aop的增强功能,Spring集成了AspectJ作为AOP的一个特定实现,同时还在JVM动态代理/CGlib的基础上,实现了一个Aop框架,作为Spring集成其他模块的工具。
Spring MVC:Spring提供了Web应用Mvc模式应用实现,这个模块以DispatcherServlet为核心,实现了MVC模式,包括咋样与Web容器进行集成,web请求的拦截、分发、处理和ModelAndView数据的返回,以及如何集成各种UI视图展示和数据表现,如PDF、Excel等。
Spring JDBC/Spring ORM :在企业应用中对以数据库为基础的处理是一个重要的方面,Java提供了JDBC,Spring对JDBC做了进一步的封装,使得通过JDBC完成数据库的操作更加的简洁。除了通过JDBC操作是数据库外,Spring还提供了许多对ORM工具的封装,包括常用的Hibernate和iBatis等。
Spring事务处理: Spring事务处理是通过SpringAOP实现自身功能增强的典型模块。在这个模块中,Spring把企业应用开发中事务处理过程抽象出来,并且简洁的通过AOP的切面增强实现了声明式事务处理的功能。
Spring远端调用:Spring的远端调用是通过封装从Spring应用到Spring应用之间的端到端调用,为应用屏蔽各种不同通信细节和调用实现,提供一致的远端调用平台,便于实际应用解耦。

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring 设计 架构