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 constructorsInjected or autowired fields/methods in classes that are not valid Spring beans
Example:
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(FooBean.java), otherBean(OtherBean.java)"
}
Example:
@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) {...}
}
Example:
public class FooBeanClass {
@Autowired // reports 'Autowired members must be defined in valid Spring beans: @Component, @Service, and so on'
ServiceBean bean;
}
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.
SpringJavaInjectionPointsAutowiringInspection- 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.
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Spring, 242.22892 |
Last modified: 11 September 2024