您的位置:首页 > 其它

J2EE工程师必备工具和技术

2007-05-24 18:29 155 查看
文/李智慧

下面的这些工具和技术是根据我的一些项目实践总结的,由于受项目环境和自身境界所限,关于这些工具和技术的说明和评论可能是肤浅的和狭隘的,希望你能补充和纠正。

1, IDE:目前主流的Java IDE有Eclipse,JBuilder,NetBeans,关于选择什么IDE,我想借用《罗马假日》中一句台词来表达我的倾向:“Eclipse,当然是Eclipse”。
2, UML工具:如果你使用UML只是进行辅助分析和设计,那么用便宜简单的Visio就足够了,如果你打算用RUP方法进行软件开发,那么就该考虑Rational Rose。
3, 版本管理工具:比较常用的版本管理工具有VSS,StarTeam,CVS,SVN等,选择什么样的版本管理工具和开发团队的习惯有关,如果还没有形成习惯,我推荐你试一试SVN。
4, BUG管理工具:BUG管理工具是开发和测试的接口,规模不太大的项目推荐使用Bugzilla。
5, DBMS:J2EE项目通常和数据库关系密切,应该熟悉一种以上数据库系统的配置和应用,包括在不同操作系统和语言字符集下的安装配置。
6, 数据库建模工具:PowerDesigner,设计概念模型和物理模型,然后生成SQL脚本。开源的数据库建模工具有DBDesigner。
7, 数据库辅助开发工具:TOAD,或者PL/SQL,SQL文最好在工具中验证后再在代码中实装。
8, WebServer:不管系统最终要求在什么样的WebServer中部署,都应该熟悉Tomcat,熟悉它的配置应用以及和IDE的集成调试方法。
9, 知识共享工具:规模稍大一点的项目通常会有很多人参与,而且这些人是断断续续加入到项目中的,项目的历史沿革、入门知识和前人的经验教训应该以一种比较开放柔和的方式传递給后来者。可以选择Wiki做知识共享平台,我个人更倾向于开设一个专门的BBS板块。
10, 单元测试工具:Junit,已经和Eclipse集成,非常容易上手。需要更多关注的是单元测试规范和测试覆盖。
11, 自动构建工具:ant,不要嫌麻烦,在编码开始后就写一个build.xml,会給将来省很多事,尤其是你的project需要交付中间版本的时候。
12, 持续集成工具:CruiseControl,如果有多个模块在多个小组间并行开发,并且存在彼此依赖的时候,最好做持续集成,更早的发现问题并把问题报告給管理者。
13, JSP和Servlet技术:没什么好说的。Servlet有很多灵活应用模式需要关注。
14, EJB技术:EJB是J2EE中最受争议的技术,正因为如此,不管你的项目是否用到EJB,都应该了解它以及关于它的争议。
15, WebService技术:不管你现在的项目是否要求使用WebService,你都应该学习WebService和SOA,会用到的。
16, XML解析技术:越来越多的配置文件和数据文件使用XML,了解DOM和SAX方案的适用场合,熟悉至少一种开源XML解析工具,比如DOM4J。
17, MVC技术:虽然支持MVC架构的开源框架有很多,但是Struts依然是上选。MVC架构通常是一个系统架构最重要的部分,如果必要,考虑自己开发一个MVC框架。
18, 持久层技术:主流的ORM框架依然是Hibernate,如果决定使用Hibernate,最好在数据库设计期就用面向对象的思想思考和设计。如果数据库表结构很复杂,最好保留JDBC访问接口实现那些比较复杂的数据库操作。
19, DI和AOP技术:将系统中的各个部分(层次)按照组件的方式进行设计和实装,然后用DI技术将它们组装起来。AOP看上去很美,在我参与的实践中却总是虎头蛇尾,有成功实践的兄弟姊妹,望不吝赐教。实现DI和AOP的框架最主流的是Spring,对日项目则更常用Seasar。
20, 设计模式:我个人将设计模式看作是SE与PG的分水岭,Design与Coding的分界线。设计模式是前辈们设计经验的总结,站在前辈的肩膀上看世界,海阔天空。
21, 面向接口的编程思想:在一个分层架构的系统中,你需要给别人看到的部分都应该是接口。同样,你自己看到的别人实现的部分也应该只有接口。

想起来的暂时就这么多了,还有一些基础的知识和技术比如软件工程基础,Java编程思想,HTML,JavaScript等就不再赘述。其他遗漏的地方欢迎补充。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: