问题描述
该项目是一个行业门户,使用Java技术开发。该项目从整体角度考虑,主要有两个关注点,一个是MVC,另一个是数据持久化。原计划是使用Struts1 + Spring3 + Hibernate3来设计,但Struts1太过古老,已经N久不更新了,Spring3也几乎放弃了对Struts1的支持,org.springframework.web.struts-3.0.5.RELEASE.jar里所有的类都被@Deprecated了。因此考虑Struts2,但是Struts2问题多多,从性能角度和安全角度考虑,又被领导排除了。经过仔细考虑,决定使用Spring3.0的MVC。然后Hibernate3也替换掉,因为团队里的开发人员对Hibernate掌握的情况不太乐观,因此替换成Spring JDBC,这样就成了Spring的一站式解决方案了。经过2天的资料搜索,现有如下问题:1、是否有人使用这种Spring MVC + Spring JDBC方案进行项目开发?因为我从来没有使用过这种组合进行开发,所以希望大家能提供一些经验。2、Spring JDBC的学习门槛多高?短时间内能否让团队成员快速掌握?3、除了使用Spring注解的方式实现表单验证功能,还有其它的方案吗?4、全注解式(without xml)开发,对于以后的维护是否会造成不良影响?比如把请求路径直接写在Spring的Controller类中,这样请求路径都分散到了一堆堆的类中,找起来很麻烦,尤其是对于将来新加入的开发人员。5、本项目的权限控制很啰嗦,不仅对人进行权限设定,还需要对页面元素或数据进行权限设定,所以,如何进行权限系统的设计才能满足要求?
解决方案
如果团队里没有人对Hibernate特别了解,还是放弃hibernate使用springjdbc吧hibernate的门槛还是有的。。。springjdcb跟操作普通sql差不多,不需要了解太多就能上手了 只是用过hibernate,并真正做过一两个项目的人才会觉得hibernate的好处还是不少的 ,对于没用过的人,可能天天都在骂hibernate怎么这样,什么什么都不能实现 一般的验证前端,后端都是需要的,前端js,后端就根据你使用的框架看着用了,一般的mvc框架都会提供验证的注解+xml结合使用,各自的优点发挥出来权限现在用得比较多的应该就是sprinsecurity,不仅可以控制到页面的元素,还能通过切面控制到类的方法执行,只是需要你发时间学习
解决方案二:
我们一直用spring mvc + spring jdbc 觉得hibernate太重(或许是不太熟) 但是一个orm还是能给程序带来不少灵活性 spring jdbc 模板式方法 给你做了不少事 很快能上手 请求路径写到controller中 找起来一点不麻烦 约定一下就行了 注解都有点侵入性 但是很简介 spring3 的rest风格更简洁 权限控制和spring mvc没啥关系 原来怎样还是怎样 呵呵
解决方案三:
1. 用过Spring MVC + Spring JDBC。但是很怀念Hibernate。1.1 Struts和SpringMVC都用过。Spring MVC比Struts简练得多。2. 我想那些用惯了(无Spring的)JDBC的人,看到Spring JDBC会很高兴可以摆脱一堆Boilerplate。但是最后还是觉得一个ORM(比如Hibernate)是有好处的。3. 用JavaScript验证表单。4. 注解不总是给力,还是XML好。注解会成为代码的一部分,有侵犯性。而且,编译以后就不能改了。XML还能充当配置文件的作用。5. Spring Security试试看。可以和spring集成,但是不会阻止你实现自己的访问控制机制,侵入性不算高。