Month: September 2010

[CXF] WSDLs2Java: 从一堆WSDL中一次性生成Java文件

目前CXF的 WSDL2JAVA 一次只能搞一个WSDL, 但一个项目中可能需要搞多个WSDL并打成一个JAR包。 下面的这个类就是帮助你从多个WSDL中生成一团JAVA文件。与ANT结合起来,可以得到更好的效果。 import java.util.ArrayList; import java.util.Arrays; import org.apache.cxf.tools.wsdlto.WSDLToJava; /** * Generate Java Codes from a number of WSDL files/urls <br/> * * @author chenjianjx * */ public class WSDLsToJava { /** * * @param args * The last args should be like "-wsdlList %wsdl1% %wsdl2% …" <br/> * The args between these …

[CXF] WSDLs2Java: 从一堆WSDL中一次性生成Java文件 Read More »

如无必要,勿增实体 — 无用接口越多,修改代码的风险越大

每当修改一个接口时,我们都要看看这个接口哪些地方在用,用的地方越多,我们就越要小心,需要回归测试的地方就越多。 所以说,应该尽量不要让接口的能力超过系统所需。比如说,如果现在只需要查询状态为“已付款”的订单,就不要写一个可以查询所有状态的万能接口;再比如,能private的接口就不要写成public。

有时候: 易读的代码不易改,易改的代码不易读

有没有同感? 比如说用了Command、Strategy模式的代码,改起来比较容易,因为解耦比较好,代码重复比较少; 而这些代码读起来却很费劲。 以Strategy模式为例,读者先要找出当前用的是哪个Strategy,回到主程序,然后再去这个Strategy子类里找出真正的处理逻辑。这其中要反复切换当前打开的类文件,并且还要用 Ctrl + T 找到具体的子类,一波三折,很费劲。

代码片段:在数据库COLUMN_NAME和Java类attrName之间互转

// firstName => FIRST_NAME private static String attrNameToColumnName(String attName) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < attName.length(); i++) { char c = attName.charAt(i); if (!(c <= ‘z’ && c >= ‘a’)) { sb.append("_"); } sb.append(c); } return sb.toString().toUpperCase(); } //FIRST_NAME => firstName private static String columnNameToAttrName(String attrName) { String …

代码片段:在数据库COLUMN_NAME和Java类attrName之间互转 Read More »