我一直在我的 IntelliJ Idea 中看到以下错误,但代码在执行期间运行良好。
Could not autowire. No beans of 'PortfolioRequestHandler' type found. less... (Ctrl+F1)
Inspection info:Checks autowiring problems in a bean class.
Sample Code
@ActiveProfiles("test")
@RunWith(SpringRunner.class)
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
@SpringBootTest(classes = {Application.class})
public class PortfolioRequestHandlerTest {
@Autowired
private PortfolioRequestHandler portfolioRequestHandler;
...
...
}
我该如何摆脱它?我正在使用 IntelliJ Idea ULTIMATE 2018.2
最佳答案
您确定您的 Spring bean 连接正确并且是 IDE 问题吗?
检查您的
PortfolioRequestHandler
类是否使用了@Service
、@Component
或@Repository
注释(通过组件扫描配置bean)否则检查您的 bean 是否连接到一个
@Configuration
注释类中 -> 在这种情况下,应该有一个返回PortfolioRequestHandler
类型实例的方法并用@Bean
注释
尝试添加一个配置类(如 2. 中所述)并将此类添加到您的
@SpringBootTest(classes = {...}
注释;参见下面的示例
@Configuration
public class CustomBeanConfig {
@Bean
public PortfolioRequestHandler get PortfolioRequestHandler() {
return new PortfolioRequestHandler();
}
}
@SpringBootTest(classes = {Application.class, CustomBeanConfig.class})
- 看看这个,也许有帮助:https://stackoverflow.com/a/50267869/150623
关于spring-boot - IntelliJ Idea + 无法 Autowiring 。找不到类型的 beans,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58201314/