做项目之前,开发者都得有一个好的规划,关于 Controller,Service,Dao,Entity 的规划,但是好的规划也会根据所用的框架,例如 MVC 和 ORM,以及是否有多数据源来做调整
大家在开发前的规划,让各位对各自项目作出了怎样的规划?
我先说一下,我开发过的其中一个项目的规划
Spring + Spring mvc+mybatis+tk.mybatis SSM,这个搭配应该算是前年主流常规的把,首先是包的分类
com 模块根包 com.xxx1 子模块 1,com.xxx2 子模块 2,一个子模块,拥有的子包名称包括 Model,Service,Dao,Cache,Util,Config 其中任何一项 common 常用,存放常用的方法 config 配置项,配置 web 启动时调用的类加载初始化数据和持久层的配置,例如 mybaits 配置文件,web 过滤器 resources 存放配置文件 。用于生产环境配置调整
spring 扫描策略,不扫描 Service,只扫描 Controller 和 dao,Service 类不写 @service 注解。
在所有的实体类继承一个基类,基类有 Long id,LocalDate Create_date,LocalTime create_time 三个字段,
并且所有的实体类的内容添加如下代码: public static XXXDao dao; public static XXXService service=getSingleton(XXXService.class);代码,在 spring 开始启动后通过反射配置把扫描到的 dao 类实例添加到实体类里的 XXXDao 字段里进去,那样就不用了在搞什么 @autowired 注解写个 set 注入。
mybatis,手动编写 sql 语句,从来不把 sql 语句写在 xml 里,直接写在注解上。 通过 java 来配置级联删除策略
数据库方面的配置 数据库主键策略都采用整型或长整型,通过雪花算法或自增或序列分配 id,如果是通过序列分配主键的表,则序列起始从 10000 开始。 用户类除了主键,还有用户名,姓名,登录名,密码,标识 id 等字段,标识 id 是字符串类型,通过字符串 id 生成算法随机生成,用于让其他用户不通过主键 id 来能确认用户唯一
以上是我开发的一个单数据源的项目的规划概况,可能有些没说出来,各位开发项目,面临单数据源或多数据源,以及为了少写代码或着是开发体验,都做了哪些规划呢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.