楼主所说的"跟着eclipse中提供的向导点击“下一步完成HIbernate映射配置",这里有一个陷阱,你是不是首先导入数据库,然后按照eclipse的一步步完成呢,如果是这样,那你就完全误用Hibernate了,Hibernate是对象冬眠的意思,应该根据领域模型再一步步完成Hibernate配置。
楼主的问题不只是一个IDE工具问题,而是IDE使用者的素质问题,如果没有OO/IOC/AOP等基本知识,当然使用SSH会觉得麻烦,更可能会被一些所谓快速IDE误用。
使用者素质高低和软件框架难易之间存在角力的问题,一些IDE(如一些Hibernate插件)或软件如Ruby等脚本就钻了这个空子,将原先100%羊绒降为20%羊绒,但是还能叫纯羊绒吗?
本人还是力荐提高使用者素质:将OO作为软件学习基础,如果你具备了OO分析设计知识,将来IDE必然被MDA或MDSD工具替代,这样,你就可以直接使用这些强大的新的IDE工具(Borland剔除其JBuilder IDE工具软件,重点发展Together等都是一个趋势)。
第二点,IDE能够帮助我们提高开发效率,比如OSGI就从开发到运行提供了一个方便组件框架,但是个人认为OSGI解决组件之间依赖关系如果不使用IOC,将是发明类似EJB容器的另外一个轮子,尽管OSGI可以将WEB的JSP进行分包,但是实际用处不大,如果我的WEB应用不是以war部署,而是直接目录文件形式,结合Struts+Tiles的细分,某个JSP更改,我直接上传更改这个JSP就可以,比OSGI的bundle包更方便精准,OSGI其他除了和Eclipse能够绑定提供方便开发Plugin之外,看不出比IOC/AOP组件容器有什么优点。
本人不赞成开发阶段和运行阶段进行耦合,把Eclipse的一个Plugin包作为运行包带到运行环境中,这又形成了与Eclipse自己的绑定,又被误导了。
我也不同意楼上关于“学习阶段 不用IDE,开发阶段才用IDE”观点,又走向另外一个极端,如果一个技术学习和开发可以分开,那就不是实战性技术,那你学习的技术就是花架子,脱离实际的,说这话的人估计没有什么实战经验。为什么这么说呢?因为Java软件是一个组件技术,每一个项目都是有几十个组件通过XML等配置组合在一起,就象一个房子由很多板块 砖头通过水泥组合在一起,这已经是Java软件的常态,这样的常态软件开发必然依赖IDE提供方便提示功能,比如XML提示等,以及JSP的标签提示,如果没有这些,你使用记事本几乎无法学习Java软件,更无法了解Java企业软件的常态,也就是它到底是个什么样这个最基本目的。
IDE除支持软件开发外,还有协同开发的功能,这是其最重要的一个功能(当软件开发靠XML捆绑以后,IDE在支持软件开发上已经显示不出什么优势),如果一个开发者在学习开始没有从SVN上拉软件的习惯,很难想象他以后有很好的协同开发能力,因为解决版本冲突问题已经不是一个简单问题,而是一个复杂的技能问题。没用过的是不知道的。
IDE还有另外一个发展方向,就是想象Delphi那样提供可视化开发,注意,这表面好像很吸引人,是一个银弹,但是不要被误导:Java架构是多层次的,IDE提供可视化开发只是Java多层中表现层的开发如JSF,不会再象以前那样直接将数据库拖到界面了,如果IDE提供这个功能就是倒退;如果IDE只提供表现层的可视化开发,这里面有一个悖论:JavaEE表现层是MVC模式,JSP是一个MVC中的一个静态View,就是一个HTML,MVC提供的就是将软件和HTML网页制作分离,HTML可以由专业的美工来通过Deamweaver.frontpage等软件完成,那么IDE提供的可视化开发到底是什么内容呢?
[该贴被admin于2007-12-10 10:30修改过]