SpringSide 并不热衷将第三方类库又重新包装一次,能用原生API的地方尽量就用了。所以目前Modules中的内容极少。

1. Core

     Core Modules是最常用的封装。包括:

  • ORM:Dao泛型基类。
  • 测试:包括Spring集成测试类的扩展,分组测试的支持,Selenium的支持。
  • 日志:包括 MockLog4jAppender, Log4jMBean
  • 工具类:包括 SpringContextHolder与SpringSecurity, Servlet与Struts2,  反射,xml/json/base64/hex编码的工具类。

2.Extension

     Extension Module 是mini-xxx示例中使用不上的封装。

  • Memcached/TokyoTyrant : 客户端与本地开发的服务模拟器。
  • Security: JCaptcha验证码集成;SpringSecurity与CXF集成; 加解密, 散列生成Utils.
  • 工具类:JmxClientTemplate。

3.Parent

     可重用的pom.xml主文件,可简化各子项目中pom.xml文件的定义。

3.1 基本定义

  • <properties> 属性定义,包括依赖库的版本号与plugin属性的定义。
  • <repositories> 和<pluginRepositories> 设定除中央仓库(repo1.maven.org/maven2/)外的其他Jar仓库。设定先找团队本地Nexus私服,再找中央仓库,最后找 JBoss, Sun等其他仓库。

3.2 依赖项版本预定义

  • <dependencyManagement>定义全部依赖项的默认version,scope 和exclusion,则子POM 只需定义groupId 和 artifactId 即可. (type不为jar时需重新定义type)。
  • <dependencyManagement>不会产生实际的依赖,仅当子类定义depency时才生效.

3.3 Build/Plugins 定义

       定义了一些plugin的最新版本,并作了以下设置

  • 指定 maven-compiler-plugin,按JDK6.0语法编译。
  • 指定 maven-resource-plugin, 复制resource文件时编码根据公共属性${project.build.sourceEncoding}定义。
  • 指定 maven-war-plugin,生成的war文件名为artifactId.war,不带version信息.
  • 指定 maven-jar-plugin, 定义META-INF的内容.
  • 指定 maven-eclipse-plugin, 定义exclude .svn文件,生成项目时下载source code。
  • 指定 maven-jetty-plugin, 定义在屏幕中按回车重载应用。

4. SpringSide Modules的使用

  在springside-core与springside-extension中点击install.bat安装到本地仓库,然后在项目的pom.xml中依赖它们。

  但其实所有的基类都可以拆开来,随便修改成用户自己喜欢的样子,然后重命名为自己项目的基类,而不必完整的依赖springside-core,大家的修改不存在任何的版权问题:)

posted on 2010-12-17 16:19 hello 阅读(332) 评论(0)  编辑  收藏 所属分类: springside