标准春季启动应用程序有一些主要方法的类文件,说SampleApplication.java
,看起来像这样:为什么主要的Spring Boot应用程序总是触发PMD的HideUtilityClassConstructorCheck?
@SpringBootApplication
@RestController
public class SampleApplication {
public static void main(final String[] args) {
SpringApplication.run(SampleApplication.class, args);
}
}
但PMD静态分析其标记为错误(HideUtilityClassConstructorCheck):
工具类 不应该有公共或默认的构造函数。
确保实用程序类(仅在其API中包含静态 方法或字段的类)没有公共构造函数。原理:实例化实用程序类没有意义。因此 构造函数应该是私有的或者(如果你想允许 子类)受保护。一个常见的错误是忘记隐藏 默认构造函数。
如果您构造的保护,你可能要考虑 下面的构造实现技术,以禁止 实例子类:
公共类StringUtils的//不是最终允许子类{保护 StringUtils的(){//防止来自子类的调用抛出新的 UnsupportedOperationException(); } public static int count(char c, String s){// ...}}
这是为什么?我应该抑制这个PMD错误吗?