设想我有一个工具类 DateUtil(参见以下代码)。为了使用这个方法,调用者需要使用 DateUtils.getDateAsString(aDate)。是否应该移除静态修饰符,将 DateUtil 变为 Spring Bean(参见 DateUtilsBean),并将其注入到调用类中,还是像现在一样保持不变?
我能看到使用静态方法的一个缺点是在模拟方面可能会出现问题,可参考如何模拟静态方法?
public class DateUtils {
public static String getDateAsString(Date date) {
String retValue = "" // do something here using date parameter
return retValue;
}
}
Spring Bean版本
@Component
public class DateUtilsBean {
public String getDateAsString(Date date) {
String retValue = "" // do something here using date parameter
return retValue;
}
}