1. 模块依赖关系 ├projectName-assemble ├──────> projectName-web ├────────────> projectName-biz ├───────────────> projectName-dal ├──────────────────> projectName-common ├------------->projectName-facade ├------------->projectName-integration 2. 技术框架 UI层:Android web层:springmvc+velocity+shiro biz层:springframework dal层:mybatis+druid DB层: mysql 3. 架构 4. 配置文件说明 1, 日志配置(logback.xml) 2, spring bean配置(projectName-config.xml) 3, web应用配置(web.xml) 4, 属性配置(projectName-xxx.properties) 5, 数据库相关配置(spring-db.xml) 6, mybatis generator配置(generatorConfig.xml) 7, shiro配置(spring-shiro.xml) 8, spring contaxt配置(spring-service.xml) 5. 环境感知使用 http://bohr.me/env-aware/(基于spring的profile) 对原配置文件的修改和整合如下 1,logback.xml引用gzt-${spring.profiles.active}.properties文件 2,projectName-config.xml添加Bean gztProperties,用于注入属性值给对应的对象 3,在assemble模块中spring目录下添加projectName-xxx(dev,test,online)属性配置文件 4,删除原gzt.properties,log.properties, dbconfig.properties文件,其内容均集成到gzt-xxx中。 5, spring-db.xml引用projectName-${spring.profiles.active}.properties文件 6, PropertiesUtil获取properties实现修改(通过2的配置注入) 7, dubbo.xml,dubbo-provider.xml,dubbo-consumer.xml 配置 6. 发布脚本app.sh 使用方法: echo "启动应用: $0 start gzt dev" >&2 echo "关闭应用: $0 stop gzt " >&2 echo "查看应用状态应用: $0 status gzt " >&2 7. 测试模块说明 测试的base类可分为带spring容器类、集成mock类,dubbo客户端类,普通类等,分别用于不同类型的单元测试。 目前实现了spring容器类(例PropertiesUtilsTest),以后根据需要,再添加即可。 8. 通过该骨架,修改项目名如下 1. 修改父pom文件中的名称(替换projectName为自己的名字) 2. 修改各个模块的pom文件中的名称 3. 修改各个模块的名称 4. 各个配置文件中名字修改 9. durid servlet 10. dubbo支持,dubbo demo(demoservice)和dubbo 消费端测试用例 11. dubbo performance log的filter 和 测试demo