spring Sonar为applicationContext.getBean()方法引发-“Changethiscondition,使其不总是求值为false”

ogsagwnx  于 2023-11-16  发布在  Spring
关注(0)|答案(1)|浏览(93)

Spring的ApplicationContext.getBean()方法可以返回null。
例如:Why is applicationContext.getBean(beanName) returning null, when it clearly exists?
但根据声纳,它永远不会返回null。声纳抱怨-改变这个条件,使它不总是评估为假。
下面是示例代码。

if (context.getBean(myClazz.class) != null) {   // Sonar warning here

字符串
Sonar或getBean方法永远不会返回null的情况是否为假阳性?
如果这是假阳性,我能不能绕过这个警告?

qacovj5a

qacovj5a1#

Sonar标记null检查是正确的。因为如果没有找到给定类型的bean,context.getBean(beanclass)将抛出NoSuchBeanDefinitionException。所以null检查是没有用的。
getBean(beanClass)方法来自BeanFactory,它记录了这种行为。

相关问题