Spring源代码的组织结构发表于 天前? Spring? 评论数 ? 被围观 views+
首先获得Spring的源代码可以通过src/svn/springframework/地址使用EclipseSVN检出功能或者其他工具获得源代码
Buildspringframework是整个Spring源代码的构建目录里面是项目的构建脚本如果要自己动手构建Spring可以进入这个目录使用ANT进行构建
l orgntext是IoC容器的源代码目录
l orgspringframeworkaop是AOP实现的源代码目录
l orgspringframeworkjdbc是JDBC的源代码部分
l orgspringframeworkorm是O/R Mapping对应的源代码实现部分
l orgspringframeworksamplespetclinic是Spring提供的一个应用示例的源代码便于我们开发Spring应用时参考
Spring源代码中的每个包(比如orgntext)都以一个相对独立的子项目存在于代码库中之所以说这些包是子项目是因为每个包都可以作为独立的项目导入到Eclipse中都有Eclipse的项目配置文件有针对这些包的代码的测试用例这些测试用例组织在src/test目录中另外还有针对自己包的build构建文件这些构建文件同时也是构成整个Spring项目构建的一部分这种代码组织结构使得包之间的相互耦合相对较小非常有利于各个子模块的并行开发集成与测试
在每个源代码包中都有着类似的代码结构划分比如src是源代码目录其中的main目录用来存放产品代码test用来存放测试代码main里面的java目录用来存放java源文件而resources目录用来存放资源文件target目录用来存放编译好的classes文件这个target名字让我想起了在嵌入式软件的开发系统中也常看到这样的目录在那些系统里这些目录常用来存放目标代码往往还可以针对不同的处理器结构和平台(比如X平台PPC平台arm平台等)在这里因为Java的跨平台特性所以只要一个target即可也许这些名字也是Java起源于嵌入式系统开发的佐证之一吧这些代码的组织规划很统一让整个Spring的源代码看起来非常整齐浏览起来非常方便
经过这么多年的发展其核心已经比较稳定了包括各个基本包的设计和命名同时我们从这些源代码的组织也隐约地看到了Spring的配置管理和构建过程比如项目组织测试管理构建工具以及依赖关系管理工具的使用等这些都为Spring代码的高质量开发奠定了一个良好的工程环境有兴趣的读者不妨自己做个研究看看Spring的构建过程是怎样完成的