Inspectopedia Help

Incorrect reference to abstract bean

Reports referenced abstract beans.

Abstract beans can be used only as template bean definitions, that is, parents for child definitions. Trying to use such an abstract parent bean on its own by referring to it as a ref property of another bean, or by calling getBean() with the parent bean id, will result in an error.

Example:

<bean abstract="true" id="parentBeanWithoutClass"/> <bean class="com.my.company.FooBean" id="childBean" parent="parentBeanWithoutClass"> <!-- properties --> </bean>

In this example, the parent bean can't be instantiated on its own since it is incomplete and explicitly marked as abstract.

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

AbstractBeanReferencesInspection
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Spring | Spring Core | XML

Availability

By default bundled with

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin

Spring, 241.18072

Last modified: 18 June 2024