1、O/R Mapping工具:最为常用的是hibernate,国内使用这个的比较多,同时ejb3.0也是基于hibernate实现的。其他的按情况使用,如:jdo,ibatis等。
2、事务处理:使用spring框架的事务处理,这里推荐使用spring框架,主要是因为作者Rod Johnson是一个实用派的代表人物,spring框架也是针对Expert One-on-One J2EE Design and Development这本书思想的一个实现。作者的想法体现了程序员的要求,同时也从实用性出发,而不像学院派那样令人感到“恶心”。
3、XML文档处理:推荐使用dom4j,对w3c的Document结构感冒的朋友可以使用这个库,确实提供了一个很好的解决方案。与jdom相比,dom4j的优势太明显了。
4、XML-Java binding工具:推荐使用apache的xmlbeans,主要是因为xmlbeans声称是对schema支持的最为彻底的库了,同时也因为是weblogic赠送给apache维护的,从这些方面考虑,使用xmlbeans而不使用jaxb有一定的好处,毕竟sun的标准很多时候确实令人感到“讨厌”,使用起来有时候很不方便。
5、搜索引擎:推荐实用apache的lucene,这里推荐lucene而不推荐使用egother,主要是因为lucene简单好用,同时目前也作为apache的top项目继续开发中。基于lucene的成功搜索引擎的实例很多,比如eclipse的搜索引擎。
6、处理各种格式的文件:html文件处理可以使用apache的NekoHtml,处理microsoft的office文件可以使用poi,处理pdf文件可以使用PDFBox库。
7、web层的实现:可以使用webwork的框架,主要是因为分离设计概念更为先进,除了jsp外,也提供了其他的选择;spring的mvc框架也值得推荐使用。而struts框架的话,作为最为古老的,同时也是使用最多的人,虽然IoC没有怎样体现,但是也是值得一用的。而使用jsf的朋友,apache的myface框架也发布了,没有具体怎样用过,不知道实际应用怎样,也可以看一下。
8、关于代码生成库:推荐实用cglib,提供了实现proxy代理类的方法,因为java本身的proxy支持主要是针对了实现某个接口的类,使用cglib则不存在这个限制了。同时,使用cglib,可以很轻松的实现aop编程的一些概念与实现。
9、cache的使用:在平时的实际应用中,为了提高性能,通常使用cache来进行设计。这里推荐两个常用的cache库,OSCache和JBoss Cache。OSCache可以很轻松的在jsp中使用taglib来实现缓存功能。
10、测试:JUnit单元测试,HttpUnit功能测试,JMeter性能与模拟测试。
Note:如果其他朋友有什么好建议的话,可以在下面留言给我,谢谢!