1
1
bug
bug
类型
类型
1.1
1.1
".equals()" should not be used to test the values of
".equals()" should not be used to test the values of
"Atomic" classes.
"Atomic" classes.
bug 主要
AtomicInteger 和 AtomicLong 扩展 Number,但它们与 Integer 和 Long 不同,因此应以
不同的方式处理。 AtomicInteger 和 AtomicLong 旨在支持对单个变量进行无锁的线程安全
编程。 这样,AtomicInteger 将永远只与自身“相等”。 相反,您应该.get()值并对其进行
比较。
1.2
1.2
"=+" should not be used instead of "+="
"=+" should not be used instead of "+="
bug 主要
使用运算符对(= +,=-或=!)会编译并运行,但不会产生预期的结果,而这意味着
使用反向的单个运算符(+ =,-=或!=)。
当= +,=-或=!时,此规则会引起问题。 在两个运算符之间没有空格且之后至少有一个空
格字符时使用。
1.3
1.3
"@Controller" classes that use "@SessionAttributes"
"@Controller" classes that use "@SessionAttributes"
must call "setComplete" on their "SessionStatus" objects
must call "setComplete" on their "SessionStatus" objects
bug 阻断
使用@SessionAttributes 的 Spring @Controller 旨在处理有状态/多帖子形式。 这样的
@Controller 使用指定的@SessionAttributes 在两次请求之间将数据存储在服务器上。 会
话结束时,应该清除该数据,但是除非从@RequestMapping 方法在 SessionStatus 对象
上调用 setComplete(),否则 Spring 和 JVM 都不知道是时候这样做了。 请注意,必须
将 SessionStatus 对象作为参数传递给该方法。
1.4
1.4
"@NonNull" values should not be set to null
"@NonNull" values should not be set to null
bug 次要
标记为@ NotNull,@ NonNull 或@Nonnull 的字段,参数和返回值假定为具有非 null
值,并且在使用前通常不进行 null 检查。 因此,将这些值之一设置为 null 或未能在构造函
数中设置此类类字段,可能会在运行时导致 NullPointerExceptions。
1.5
1.5
"@SpringBootApplication" and "@ComponentScan"
"@SpringBootApplication" and "@ComponentScan"
should not be used in the default package
should not be used in the default package
bug 阻断
@ComponentScan 用于确定哪些 Spring Bean 在应用程序上下文中可用。 可以使用
basePackageClasses 或 basePackages(或其别名值)参数来配置要扫描的软件包。 如果未配
置任何参数,则@ComponentScan 将仅考虑带有注释的类的程序包。 在属于默认包的类上
使用@ComponentScan 时,将扫描整个类路径。
这 将 减 慢 应 用 程 序 的 启 动 速 度 , 并 且 该 应 用 程 序 可 能 无 法 启 动
BeanDefinitionStoreException,因为您最终扫描了 Spring Framework 软件包本身。
评论2
最新资源