Inspectopedia Help

Incorrect autowiring in Spring bean components

Reports autowiring problems on injection points of Spring beans @Component, @Service, and so on.

  • More than one bean of 'concrete' type

  • No beans of 'concrete' type

  • No bean with qualifier

  • Incorrect usages of @Autowired on Spring bean constructors

  • Injected or autowired fields/methods in classes that are not valid Spring beans


public interface FooInterface {...} @Component public class FooBean implements FooInterface {...} @Component public class OtherBean implements FooInterface {...} @Component public class MyComponent { @Autowired FooInterface foo; // "Could not autowire. There is more than one bean of 'FooInterface' type. // Beans: fooBean(, otherBean(" }


@Component public class MyComponent { @Autowired public MyComponent(BarBean bean) {...} // reports 'Only one @Autowired constructor is allowed' @Autowired public MyComponent(FooBean bean) {...} // reports 'Only one @Autowired constructor is allowed' } @Component public class MyFactory { // reports ' No matching @Autowired constructor' public MyFactory(String str) {...} public MyFactory(int count) {...} }


public class FooBeanClass { @Autowired // reports 'Autowired members must be defined in valid Spring beans: @Component, @Service, and so on' ServiceBean bean; }

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3


Spring, 233.SNAPSHOT

Last modified: 13 July 2023