关于我在github上Sara项目的介绍

来源:互联网 发布:md5 c语言 编辑:程序博客网 时间:2024/04/30 15:06

首先介绍下这个项目,该项目是一个纯净版不掺和任何业务的基础框架项目。

技术选型

管理

  • maven依赖和项目管理
  • git版本控制

后端

  • IOC容器 Spring
  • WEB框架 SpringMVC
  • ORM框架 mybatis
  • 验证框架 hibernate validator
  • restful框架 jersey
  • 缓存 ehcache
  • 数据源 druid
  • 日志 slf4j+logback

答疑

1、我们的项目为什么要分模块

首先要声明的是不是随便一个项目都要分模块,一个小型项目也去分模块,可以用一句俗语来形容,“杀鸡焉用宰牛刀”。
小项目分模块的话,只是会把简单的事情复杂化,是不推荐的。那中大型项目呢,分模块的优势也就体现出来了

  1. 方便重用,如果你有一个新的swing项目需要用到app-dao和app-service,添加对它们的依赖即可,你不再需要去依赖一个WAR。而有些模块,如app-common,完全可以渐渐进化成公司的一份基础工具类库,供所有项目使用。这是模块化最重要的一个目的。
  2. 由于你现在划分了模块,每个模块的配置都在各自的pom.xml里,不用再到一个混乱的纷繁复杂的总的POM中寻找自己的配置。
  3. 如果你只是在app-dao上工作,你不再需要build整个项目,只要在app-dao目录运行mvn命令进行build即可,这样可以节省时间,尤其是当项目越来越复杂,build越来越耗时后。
  4. 某些模块,如app-common被所有人依赖,但你不想给所有人修改,你只让一些经验丰富的人来维护,现在你完全可以从这个项目结构出来,只提供jar给别人使用。

总而言之,我们需要最大程度的遵守一个设计模式原则:“高内聚,低耦合”。

2、如何利用Maven的Profile构建不同环境的部署包

参考:http://blog.csdn.net/lovesomnus/article/details/51361762

3、如何更有效地跟踪Bug—记录带有详细参数值的SQL

参考:http://blog.csdn.net/lovesomnus/article/details/52043673

4、为什么日志框架我们选择了logback而抛弃了log4j

参考:http://blog.csdn.net/lovesomnus/article/details/53261021

5、我们该在什么时候做请求参数校验,如何去实现

6、项目中的异常处理那么乱,我们该如何统一定义、统一处理

7、为什么我们的restful服务实现选择了基于jax-rs规范的jersey框架,而不是其它

8、我们该如何调用restful服务,为什么不选择传统方法httpclient方式

9、我们为何要新整出一个maven插件,它承担了什么任务

10、有人质疑为什么配置文件要整那么细

3 0
原创粉丝点击