关于以Spring3.0 MVC进行项目开发的疑问

[size=large][color=indigo]该项目是一个行业门户,使用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天的资料搜索,现有如下问题:[/color]
[color=red]1、是否有人使用这种Spring MVC + Spring JDBC方案进行项目开发?因为我从来没有使用过这种组合进行开发,所以希望大家能提供一些经验。
2、Spring JDBC的学习门槛多高?短时间内能否让团队成员快速掌握?
3、除了使用Spring注解的方式实现表单验证功能,还有其它的方案吗?
4、全注解式(without xml)开发,对于以后的维护是否会造成不良影响?比如把请求路径直接写在Spring的Controller类中,这样请求路径都分散到了一堆堆的类中,找起来很麻烦,尤其是对于将来新加入的开发人员。
5、本项目的权限控制很啰嗦,不仅对人进行权限设定,还需要对页面元素或数据进行权限设定,所以,如何进行权限系统的设计才能满足要求?[/color][/size]

3个回答

如果团队里没有人对Hibernate特别了解,还是放弃hibernate使用springjdbc吧
hibernate的门槛还是有的。。。
springjdcb跟操作普通sql差不多,不需要了解太多就能上手了 :D
只是用过hibernate,并真正做过一两个项目的人才会觉得hibernate的好处还是不少的 :lol: ,对于没用过的人,可能天天都在骂hibernate怎么这样,什么什么都不能实现 :cry:

一般的验证前端,后端都是需要的,前端js,后端就根据你使用的框架看着用了,一般的mvc框架都会提供验证的

注解+xml结合使用,各自的优点发挥出来

权限现在用得比较多的应该就是sprinsecurity,不仅可以控制到页面的元素,还能通过切面控制到类的方法执行,只是需要你发时间学习

  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集成,但是不会阻止你实现自己的访问控制机制,侵入性不算高。

我们一直用spring mvc + spring jdbc
觉得hibernate太重(或许是不太熟) 但是一个orm还是能给程序带来不少灵活性
spring jdbc 模板式方法 给你做了不少事 很快能上手
请求路径写到controller中 找起来一点不麻烦 约定一下就行了 注解都有点侵入性 但是很简介 spring3 的rest风格更简洁 权限控制和spring mvc没啥关系 原来怎样还是怎样 呵呵

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spring3.0.5MVC 获取不到@RequestMapping定义的Action类
-
spring2.5 MVC or struts2 MVC,到底选哪一个?
-
Spring3.2MVC ContextLoaderListener DispatcherServlet 加载冲突
-
dubbo spring 2.X能升级到spring 3.0+
-
spring3.2.8升级4.3.25,messageSource加载异常。
-
spring 3.1 mvc json jquery ajax得不到数据
-
spring使用spring-mvc-3.0.xsd
-
spring 3.0 部署
-
spring 4.2.6 mvc 静态资源访问问题
-
Spring5.0+Spring MVC+ Hibernate 整合
-
spring3.1.1 mvc 静态文件 访问
-
Spring3.2和Spring Security3.1共存的问题?
-
Spring Security 从Spring Boot1.5升级到2.1.6整个项目提示social包找不到
-
spring mvc能否实现类似.net mvc的分部视图
-
SpringBoot 2.1.1 在application.properties全局配置下,spring.mvc.date-format=yyyy-MM-dd 失效怎么搞
-
请问能否在Spring3.1.1版本中使用4.0中的WebSocket
-
myBatis3.0.6+Spring3.0.6框架整合
-
dubbo2.5.3怎么兼容spring3.2.0?
-
求助:springboot报错:Caused by: java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine
-
docker学习笔记
docker学习笔记 Docker是什么? Docker是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。比如,你在本地用Python开发网站后台,开发测试完成后,就可以将Python3及其依赖包、Flask及其各种插件、Mysql、Nginx等打包到一个容器中,然后部署到任意你想部署到的环境。 Docker官方文档比较全,建议有能力的读...
学会了这些技术,你离BAT大厂不远了
每一个程序员都有一个梦想,梦想着能够进入阿里、腾讯、字节跳动、百度等一线互联网公司,由于身边的环境等原因,不知道 BAT 等一线互联网公司使用哪些技术?或者该如何去学习这些技术?或者我该去哪些获取这些技术资料?没关系,平头哥一站式服务,上面统统不是问题。平头哥整理了 BAT 等一线大厂的必备技能,并且帮你准备了对应的资料。对于整理出来的技术,如果你掌握的不牢固,那就赶快巩固,如果你还没有涉及,现在...
程序员实用工具网站
目录 1、搜索引擎 2、PPT 3、图片操作 4、文件共享 5、应届生招聘 6、程序员面试题库 7、办公、开发软件 8、高清图片、视频素材网站 9、项目开源 10、在线工具宝典大全 程序员开发需要具备良好的信息检索能力,为了备忘(收藏夹真是满了),将开发过程中常用的网站进行整理。 1、搜索引擎 1.1、秘迹搜索 一款无敌有良心、无敌安全的搜索引擎,不会收集私人信息,保...
2019年9月中国编程语言排行榜
2019年9月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 排名 编程语言 百分比 1 java 33.71% 2 cpp 15.95% 3 c_sharp 12.72% 4 javascript 12.70% 5 python 7.63% 6 go 7.37% 7 php 4.66% ...
shell-【技术干货】工作中编写shell脚本实践
在公司项目的开发过程中,需要编写shell脚本去处理一个业务,在编写过程中发现自身对shell脚本的知识不够完善,顾整理一下,本文章主要内容来自菜鸟教程 , 也添加了一些知识点 shell脚本? 在说什么是shell脚本之前,先说说什么是shell。 shell是外壳的意思,就是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls...
挑战10个最难的Java面试题(附答案)【上】
这是收集的10个最棘手的Java面试问题列表。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java 知识,但这些问题都是容易在各种 Java 面试中被问到的,而且包括我的朋友和同事在内的许多程序员都觉得很难回答。 1 为什么等待和通知是在 Object 类而不是 Thread 中声明的? 一个...
我花了一夜用数据结构给女朋友写个H5走迷宫游戏
起因 又到深夜了,我按照以往在csdn和公众号写着数据结构!这占用了我大量的时间!我的超越妹妹严重缺乏陪伴而 怨气满满! 而女朋友时常埋怨,认为数据结构这么抽象难懂的东西没啥作用,常会问道:天天写这玩意,有啥作用。而我答道:能干事情多了,比如写个迷宫小游戏啥的! 当我码完字准备睡觉时:写不好别睡觉! 分析 如果用数据结构与算法造出东西来呢? ...
别再翻了,面试二叉树看这 11 个就够了~
写在前边 数据结构与算法: 不知道你有没有这种困惑,虽然刷了很多算法题,当我去面试的时候,面试官让你手写一个算法,可能你对此算法很熟悉,知道实现思路,但是总是不知道该在什么地方写,而且很多边界条件想不全面,一紧张,代码写的乱七八糟。如果遇到没有做过的算法题,思路也不知道从何寻找。面试吃了亏之后,我就慢慢的做出总结,开始分类的把数据结构所有的题型和解题思路每周刷题做出的系统性总结写在了 Github...
GitHub开源的10个超棒后台管理面板
目录 1、AdminLTE 2、vue-Element-Admin 3、tabler 4、Gentelella 5、ng2-admin 6、ant-design-pro 7、blur-admin 8、iview-admin 9、material-dashboard 10、layui 项目开发中后台管理平台必不可少,但是从零搭建一套多样化后台管理并不容易,目前有许多开源、免费、...
100 个网络基础知识普及,看完成半个网络高手
欢迎添加华为云小助手微信(微信号:HWCloud002或HWCloud003),输入关键字“加群”,加入华为云线上技术讨论群;输入关键字“最新活动”,获取华为云最新特惠促销。华为云诸多技术大咖、特惠活动等你来撩! 1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2)OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
C语言实现推箱子游戏
很早就想过做点小游戏了,但是一直没有机会动手。今天闲来无事,动起手来。过程还是蛮顺利的,代码也不是非常难。今天给大家分享一下~ 一、介绍 开发语言:C语言 开发工具:Dev-C++ 5.11 日期:2019年9月28日 作者:ZackSock 也不说太多多余的话了,先看一下效果图: 游戏中的人物、箱子、墙壁、球都是字符构成的。通过wasd键移动,规则的话就是推箱子的规则,也就不多说了。 二、代...
面试官:兄弟,说说基本类型和包装类型的区别吧
Java 的每个基本类型都对应了一个包装类型,比如说 int 的包装类型为 Integer,double 的包装类型为 Double。基本类型和包装类型的区别主要有以下 4 点。
一些实用的GitHub项目
最近整理了一些在GitHub上比较热门的开源项目关于GitHub,快速了解请戳这里其中涵盖了:学习教程,面试总结,实用工具,框架,机器学习等东西比较杂,要学的东西也比较多...
新手程序员成长之路的五本必读书籍(附资源下载)
全文共3351字,预计学习时长7分钟图片来自Pixabay,IvanPais书籍可以清晰而有条理地陈诉观点,纸张上的笔墨也会给人一种不慌不忙的感觉。不过,科技类书籍存在一...
30秒内便能学会的30个超实用Python代码片段
许多人在数据科学、机器学习、web开发、脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言。 Python流行的部分原因在于简单易学。 本文将简要介绍30个简短的、且能在30秒内掌握的代码片段。 1. 唯一性 以下方法可以检查给定列表是否有重复的地方,可用set()的属性将其从列表中删除。 ...
python入门的120个基础练习
python入门的120个基础练习 解决问题的道路上,"方法"和"坚持"缺一不可。 ------------------------------------------------------------------------------------------ 01-Hello World python的语法逻辑完全靠缩进,建议缩进4个空格。 如果是顶级代码,那么必须顶格书写,哪怕只有一个空格...
JAVA-快速了解线程池的基本原理
前言 说起线程池大家肯定不会陌生,在面试中属于必问的问题之一,特别是对于高并发有较高要求的企业,基本是核心打分点。网上关于线程池的文章和视频很多,本篇文章旨在帮助大家快速了解和掌握线程池的原理,对于高级应用不过多涉及。 ...
失败程序员的十年总结
十年到底有多长?当我回顾过去的十年,发现好短,可以讲的事情没有几件,而且都是坏事;当我畅想未来的十年,感觉又好长,不知道路怎么走。
Python搭建代理IP池(一)- 获取 IP
使用爬虫时,大部分网站都有一定的反爬措施,有些网站会限制每个 IP 的访问速度或访问次数,超出了它的限制你的 IP 就会被封掉。对于访问速度的处理比较简单,只要间隔一段时间爬取一次就行了,避免频繁访问;而对于访问次数,就需要使用代理 IP 来帮忙了,使用多个代理 IP 轮换着去访问目标网址可以有效地解决问题。 目前网上有很多的代理服务网站可以提供代理服务,也提供一些免费的代理,但可用性较差,如果需...
可视化越做越丑?这五个高级图表效果能瞬间抬升你的逼格
今天我们来说一说数据可视化,想必很多人在入门数据分析之后,就会经常进行可视化的工作,所谓一图胜千言,图表用的好,真的是会事半功倍的。但现实情况下,很多人遇到的问题是: 你做的图表太丑了?你做的图表到底想表达什么?图表太多,该用哪一个更好呢? 很多人看着下面这些高级上档次的数据可视化都觉得羡慕,但是到自己动手的时候又不知从何下手,或者实现难度太大,只能“望图兴叹”。 其实我...
相关热词 c# 去除空格 c#读取tiff未bmp c# 识别回车 c#生成条形码ean13 c#子控制器调用父控制器 c# 写大文件 c# 浏览pdf c#获取桌面图标的句柄 c# list反射 c# 句柄 进程