Spring 框架的架包分析功能作用优点

"Spring 框架的架包分析功能作用优点":

关键词spring 框架   分析 功能 作用 优点


由于刚搭建完一个mvc框架,决定分享一下我搭建过程中学习到的一些东西。我觉得不管你是个初级程序员还是高级程序员抑或是软件架构师,在学习和了解一个框架的时候,首先都应该知道的是这个框架的原理和与其有关jar的作用、关系。这篇文章总结一下spring框架的相关知识。


一、spirng的简介高手可以跳过

spring是一个开源框架,它由rod johnson创建。它是为了解决企业应用开发的复杂性而创建的。spring使用基本的javabean来完成以前只可能由ejb完成的事情。然而,spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何java应用都可以从spring中受益。

二、spring的工作原理(mvc)

       1.springmvc请所有的请求都提交给dispatcherservlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。 

  2.dispatcherservlet查询一个或多个handlermapping,找到处理请求的controller. 
  3.dispatcherservlet请请求提交到目标controller 
  4.controller进行业务逻辑处理后,会返回一个modelandview 
  5.dispathcher查询一个或多个viewresolver视图解析器,找到modelandview对象指定的视图对象 
  6.视图对象负责渲染返回给客户端。

三、spring的作用

        aop 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用 aop后,公共服务(比如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。 

  ioc 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词 倒置 所表明的,ioc 就像反过来的jndi。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straightconstruction),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。 
  spring即使一个aop框架,也是一ioc容器。 spring 最好的地方是它有助于您替换对象。有了spring,只要用javabean属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。 
  spring 框架是一个分层架构,由 7 个定义良好的模块组成。spring模块构建在核心容器之上,核

此文来自: 马开东博客 转载请注明出处 网址: http://www.makaidong.com

心容器定义了创建、配置和管理bean 的方式,如图 1 所示。 
  组成 spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: 
  核心容器:核心容器提供 spring框架的基本功能。核心容器的主要组件是beanfactory,它是工厂模式的实现。beanfactory使用控制反转(ioc)模式将 应用程序 的配置和依赖性规范与实际的 应用程序 代码分开。 
  spring 上下文:spring 上下文是一个配置文件,向 spring框架提供上下文信息。spring上下文包括企业服务,例如 jndi、ejb、 电子邮件 、国际化、校验和调度功能。 
  spring aop:通过配置管理特性,spring aop 模块直接将面向方面的编程功能集成到了spring框架中。所以,可以很容易地使 spring 框架管理的任何对象支持 aop。spring aop 模块为基于spring的 应用程序 中的对象提供了事务管理服务。通过使用 spring aop,不用依赖ejb组件,就可以将声明性事务管理集成到 应用程序 中。 
  spring  dao:jdbcdao抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同 数据库 供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。springdao的面向 jdbc 的异常遵从通用的 dao 异常层次结构。 
  spring orm:spring 框架插入了若干个 orm 框架,从而提供了 orm的对象关系工具,其中包括jdo、hibernate 和 ibatis sql map。所有这些都遵从 spring 的通用事务和dao异常层次结构。 
  spring web 模块:web 上下文模块建立在 应用程序 上下文模块之上,为基于web的 应用程序 提供了上下文。所以,spring 框架支持与 jakarta struts的集成。web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 
  spring mvc 框架:mvc 框架是一个全功能的构建 web  应用程序 的 mvc实现。通过策略接口,mvc框架变成为高度可配置的,mvc 容纳了大量视图技术,其中包括jsp、velocity、tiles、itext 和 poi。 
  spring 框架的功能可以用在任何 j2ee服务器中,大多数功能也适用于不受管理的环境。spring的核心要点是:支持不绑定到特定 j2ee服务的可重用业务和数据访问

此文来自: 马开东博客 转载请注明出处 网址: http://www.makaidong.com

对象。毫无疑问,这样的对象可以在不同 j2ee 环境 (web或ejb)、独立 应用程序 、测试环境之间重用。

四、spring架包目录说明

      aspectj目录下是在spring框架下使用aspectj的源代码和测试程序文件。 

     aspectj是java最早的提供aop的应用框架。 
     dist 目录下是spring 的发布包,关于发布包下面会详细进行说明。 
     docs 目录下是相关的文档,包括有spring api 的javadoc、reference 参考指南、spring的标签库使用
 件及           spring mvc 的mvc-step-by-step 讲解与示例。都是很好的文档,值得好好研究一下。 

   lib 目录下是spring 所依赖的第三方开源包。 

     mock 目录下是spring 辅助应用测试的mock 源程序。 
     samples 目录下是spring 的示例源程序及简单的webapp 示例框架的示例配置,值得好好学习的有jpetstore 及petclinic,当然其它的countries、imagedb、tiles-example 也可以好好参考一下。 

     src 目录下是spring 的源程序。 
     test 目录下spring 的单元测试源程序。 
     tiger 目录下是针对在spring框架中使用java 1.5的源程序及测试程序。tiger是jdk 1.5版本的开发代号。 

五、spring架包工作作用详解

       spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and              spring-hibernate2.jar。 

     spring-src.zip就是所有的源代码压缩包。 
     除了spring.jar 文件,spring 还包括有其它21 个独立的jar 包,各自包含着对应的spring组件,用户可以根据自己的需要来选择组合自己的jar 包,而不必引入整个spring.jar 的所有类文件。 
    spring-core.jar(必须) 
     这个jar 文件包含spring 框架基本的核心工具类。spring 其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 
外部依赖commons logging, (log4j)。 
spring-beans.jar(必须) 
这 个jar 文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行inversion of control / dependency injection(ioc/di)操作相关的所有类。如果应用只需基本的ioc/di 支持,引入spring-core.jar 及spring-beans.jar 文件就可以了。 
外部依赖spring-core,(cglib)。 

spring-aop.jar(必须) 
这个jar 文件包含在应用中使用spring 的aop 特性时所需的类和源码级元数据支持。使用基于aop 的spring特性,如声明型事务管理(declarative transaction management),也要在应用里包含这个jar包。 
外部依赖spring-core, (spring-beans,aop alliance, cglib,commons attributes)。 

spring-context.jar(必须) 
这个jar 文件为spring 核心提供了大量扩展。可以找到使用spring applicationcontext特性时所需的全部类,jdni 所需的全部类,instrumentation组件以及校验validation 方面的相关类。 
外部依赖spring-beans, (spring-aop)。 

spring-dao.jar(必须) 
这个jar 文件包含spring dao、spring transaction 进行数据访问的所有类。为了使用声明型事务支持,还需在自己的应用里包含spring-aop.jar。 
外部依赖spring-core,(spring-aop, spring-context, jta api)。 

spring-jdbc.jar(必须) 
这个jar 文件包含对spring 对jdbc 数据访问进行封装的所有类。 
外部依赖spring-beans,spring-dao。 

spring-support.jar(必须) 
这个jar 文件包含支持ui模版(velocity,freemarker,jasperreports),邮件服务,脚本服务(jruby),缓存cache(ehcache),任务计划scheduling(uartz)方面的类。 
外部依赖spring-context, (spring-jdbc, velocity, freemarker, jasperreports, bsh, groovy, jruby, quartz, ehcache) 

spring-web.jar(必须) 
这个jar 文件包含web 应用开发时,用到spring 框架时所需的核心类,包括自动载入web application context 特性的类、struts 与jsf 集成类、文件上传的支持类、filter 类和大量工具辅助类。 
外部依赖spring-context, servlet api, (jsp api, jstl, commons fileupload, cos)。 

spring-webmvc.jar 
这个jar 文件包含spring mvc 框架相关的所有类。包括框架的servlets,web mvc框架,控制器和视图支持。当然,如果你的应用使用了独立的mvc 框架,则无需这个jar 文件里的任何类。 
外部依赖spring-web, (spring-support,tiles,itext,poi)。 

spring-portlet.jar 
spring自己实现的一个类似spring mvc的框架。包括一个mvc框架和控制器。 
外部依赖spring-web, portlet api,(spring-webmvc)。 

spring-struts.jar 
struts框架支持,可以更方便更容易的集成struts框架。 
外部依赖spring-web,struts。 

spring-remoting.jar 
这个jar 文件包含支持ejb、远程调用remoting(rmi、hessian、burlap、http invoker、jax-rpc)方面的类。 
外部依赖spring-aop, (spring-context,spring-web,hessian,burlap,jax-rpc,ejb api)。 

spring-jmx.jar 
这个jar包提供了对jmx 1.0/1.2的支持类。 
外部依赖spring-beans,spring-aop, jmx api。 

spring-jms.jar 
这个jar包提供了对jms 1.0.2/1.1的支持类。 
外部依赖spring-beans,spring-dao,jms api。 

spring-jca.jar 
对jca 1.0的支持。 
外部依赖spring-beans,spring-dao, jca api。 

spring-jdo.jar 
对jdo 1.0/2.0的支持。 
外部依赖spring-jdbc, jdo api, (spring-web)。 

spring-jpa.jar 
对jpa 1.0的支持。 
外部依赖spring-jdbc, jpa api, (spring-web)。 

spring-hibernate2.jar 
对hibernate 2.1的支持,已经不建议使用。 
外部依赖spring-jdbc,hibernate2,(spring-web)。 

spring-hibernate3.jar 
对hibernate 3.0/3.1/3.2的支持。 
外部依赖spring-jdbc,hibernate3,(spring-web)。 

spring-toplink.jar 
对toplink框架的支持。 
外部依赖spring-jdbc,toplink。 

spring-ibatis.jar 
对ibatis sql maps的支持。 
外部依赖spring-jdbc,ibatis sql maps。 

另外的两个包。 

spring-mock.jar 
这 个jar 文件包含spring 一整套mock 类来辅助应用的测试。spring 测试套件使用了其中大量mock 类,这样测试就更加简单。模拟httpservletrequest 和httpservletresponse 类在web 应用单元测试是很方便的。并且提供了对junit的支持。 
外部依赖spring-core。 

spring-aspects.jar 
提供对aspectj的支持,以便可以方便的将面向方面的功能集成进ide中,比如eclipse ajdt。 
外部依赖。 

weaver jars (dist/weavers)说明。 

spring-agent.jar 
spring的instrumentationsavingagent (为instrumentationloadtimeweaver),一个设备代理包,可以参考jdk1.5的instrumentatio

搜索此文相关文章: Spring 框架的架包分析功能作用优点
此文链接: http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E9%97%AE%E7%AD%94/7170.shtm
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot是一个开源的Java框架,可以快速构建基于Spring框架的应用程序。Spring Boot的主要目标是简化和加速Spring应用程序的开发过程,它通过自动配置和约定优于配置的方式来减少开发人员的工作量。Spring Boot集成了大量常用的第三方框架和工具,如Tomcat、Jackson、Hibernate、MyBatis等,这些框架和工具都可以通过Spring Boot的starter依赖来快速集成到应用程序中。 Spring Boot的优点括: 1. 简化配置:Spring Boot通过自动配置来减少开发人员的配置工作量。 2. 快速开发:Spring Boot提供了大量的starter依赖,可以快速集成第三方框架和工具。 3. 易于部署:Spring Boot应用程序可以直接打成一个可执行的jar,方便部署和运行。 4. 微服务支持:Spring Boot对微服务的支持非常好,可以快速构建分布式系统。 5. 集成测试支持:Spring Boot提供了很多测试工具和注解,方便进行集成测试。 总之,Spring Boot是一个非常优秀的Java框架,可以大大提高开发效率和代码质量,推动Java生态圈的发展。 ### 回答2: Spring Boot框架是一种用于构建独立的、基于Java的Web应用程序的框架。它基于Spring框架,并通过自动化配置、约定优于配置和快速启动的特性,使得开发者可以更加简单、快速地搭建起一个高度可定制和可扩展的应用程序。 Spring Boot提供了很多功能和特性,使得开发人员可以专注于业务逻辑,而无需去处理框架的基本配置。它括自动配置、起步依赖、命令行界面等一系列工具,可以减少开发时间和配置工作。同时,Spring Boot还提供了健康监测、性能监测、安全性等重要功能,使得应用程序更加健壮和安全。 Spring Boot的优点括: 1. 便捷的配置:Spring Boot通过自动配置和约定优于配置的原则,可以轻松地进行配置,减少开发者的工作量。 2. 快速启动:Spring Boot使用内嵌的Web容器,无需额外的配置和安装,可以快速启动应用程序并进行开发和测试。 3. 高度可定制和可扩展:Spring Boot提供了大量的插件和扩展点,可以根据项目需求进行自定义和扩展,使得应用程序更加灵活和可扩展。 4. 简化开发流程:Spring Boot提供了简化的开发流程,括自动配置和自动装配,使得开发者可以更加专注于业务逻辑而非繁杂的配置。 5. 良好的生态系统:Spring Boot拥有庞大的社区和丰富的文档资源,可以使开发者更容易地解决问题和学习使用框架。 总之,Spring Boot框架通过简化配置和提供大量的便捷工具,使得开发者可以更加高效、快速地构建出高质量的JavaWeb应用程序。 ### 回答3: Spring Boot是一个用于简化Spring应用开发的框架。它通过提供一些默认配置和开箱即用的功能,大大减少了开发者在搭建Spring应用时的工作量和复杂度。使用Spring Boot,开发者可以快速地构建、部署和运行Spring应用。 Spring Boot的设计目标是简化和减少配置,因此它提供了自动配置的特性。通过分析项目的依赖关系,Spring Boot可以自动配置应用程序的各种组件,从而减少了开发者的手动配置的工作量。同时,Spring Boot还提供了一些启动器(Starters),这些启动器封装了常用的依赖项,可以更方便地进行集成和开发。 Spring Boot还提供了一个内嵌的服务器(Embedded Server),开发者可以将应用打成一个可执行的JAR文件,并通过命令行启动,无需依赖外部的应用服务器。这大大简化了应用程序的部署和运行,并且提供了更好的可移植性。 除了简化和减少配置外,Spring Boot还提供了丰富的开发工具和插件,方便开发者进行调试、监控和测试等工作。它支持热部署,即在应用程序运行的同时可以修改代码,并且能够自动重新加载,提高了开发效率。同时,Spring Boot还提供了健康检查、指标监控等功能,开发者可以更好地了解应用程序的状态和性能。 总之,Spring Boot是一个简化Spring应用开发的框架,通过提供默认配置、自动装配和开箱即用的功能,减少了开发者的工作量和复杂度。它还提供了内嵌的服务器和丰富的开发工具,方便开发者进行部署、运行和调试等工作。使用Spring Boot,开发者可以更快速、更高效地开发出高质量的Spring应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值