刚开始做Java项目,基本确定Spring MVC、Spring、Hibernate、Freemarker来做开发,现在有几个问题需要请教一下
1、接口是不是必须的,每个Dao、Service都需要写接口然后再写实现类吗,感觉这个地方的接口似乎有些多余
2、如果使用Hibernate做持久层,是不是可以很轻松的更换数据库,比如MySQL、PostgreSQL、Oracle
3、数据库相互的关系是使用外键建立联系还是用代码控制比较好
4、如果需要同时提供json接口,接口一般怎么进行处理比较好,如果用@ResponseBody输出会输出一些无用的东西,如果用Freemarker再做一套json的模板手写json格式似乎不太方便,不知道实际工作中一般用哪种方案
1.接口的必要性,看项目规划,一般如果该dao或者service存在特殊的逻辑实现或者存在多个调用者,那应该增加接口来保证一下健壮性
2.hibernate支持多数据源,但你既然是基于spring的,不如考虑下spring-jpa
3.数据库关系看数据设计是否存在强关系,个人观点还是代码控制,外键虽然增强了校验,避免了错误数据,但是增加了复杂度,调试维护比较麻烦
4.不理解无用信息是什么,JSON可以采用JSON框架来进行对象和JSON之间的互相转换,GSON/JACKSON/FASTJSON都能跟spring很好的整合,也可以使用注解的形式来控制具体内容
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。