• 1. 品聚项目设计开发详解叶靖峰 2011.6.3
  • 2. 系统总体架构
  • 3. 系统业务实体关系图High Level Entity Entity Relationship Business Line
  • 4. (本页无文本内容)
  • 5. 开发技术框架前端页面:freemarker+sitemesh 流转控制:Struts 业务层:Spring 持久层:iBatis 打包依赖:Maven 应用服务器:apache+jBoss4.3 数据库:oracle11g,mysql 5.5
  • 6. 应用层结构
  • 7. Biz工程结构,业务逻辑层 main下是应用工程代码 test下面是单元测试代码
  • 8. Model工程结构,业务模型层 Domain下根据包放不同的DO、Query对象 DO对象是指业务实体对象,可以对应与物理表,也可以是逻辑上的业务实体。
  • 9. Web工程结构,视图层 module中放页面处理的Action Templates中放页面ftl文件
  • 10. 业务层开发要点DO、Manager、DAO需要继承BaseDO、BaseManager、BaseDAO;已经封装相关公用方法。 Query对象继承Paginator,封装了分页功能,用于在各层之间传递查询条件。 DAO层抛出DAOException,Manager层抛出ManagerException,AO层处理异常,将结果返回页面。 AO、Manager、DAO由Spring的IOC控制注入,注意配置文件的加载顺序。 单元测试使用unitils,分别对DAO、Manager测试。 数据库,表名规则:业务线_业务实体名,主键id使用自增;Sqlmap命名规范:表名_sqlmap.xml。 根目录的Pom控制全局总引用,各个项目中pom定义各自需要的引用依赖。 其它要点参看《御网代码规范》、Demo代码等文档。
  • 11. 图片文件上传使用apache common upload上传组件。
    上传文件:
    上传文件:
    上传文件:
    被提交的Form标示为enctype=“multipart/form-data”。 在Action中自动接受到三个参数,文件、文件类型、文件名,将需要的参数传入业务流程层AO。 private File[] imgFile; private String[] imgFileContentType; private String[] imgFileFileName; 在AO中调用FileStorageManager. saveImage (File[] files, String[] fileNames, Long memberId,String nickName)方法,存储文件。返回文件服务器上的文件名。 在文件系统上保存两份文件:主文件路径, 缩略图路径(文件名+_thumb), 保留上传时的扩展名 。 例: 20110214/54/fc5e0aa1-3fdc-4ad7-b8e9-31bf83abbfe3.png 20110214/54/fc5e0aa1-3fdc-4ad7-b8e9-31bf83abbfe3_thumb.png 图片显示:在ftl页面使用$fileServer+文件名,直接显示图片。
  • 12. 需要学习的文档Wiki地址:http://doc.zba.com/mediawiki/index.php/%E9%A6%96%E9%A1%B5创建一个新账户。
  • 13. 其它未尽问题,随项目进展再补充。谢谢!