我在我的IntelliJ Idea中一直看到下面的错误,但是代码在执行过程中工作正常。
Could not autowire. No beans of 'PortfolioRequestHandler' type found. less... (Ctrl+F1)
Inspection info:Checks autowiring problems in a bean class.
示例代码
@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
2条答案
按热度按时间ia2d9nvy1#
你确定你的Springbean连接正确,这是IDE的问题吗?
1.检查
PortfolioRequestHandler
类是否使用@Service
、@Component
或@Repository
进行注解(通过组件扫描进行bean配置)1.否则,检查bean是否连接在
@Configuration
注解的类中->在这种情况下,应该有一个方法返回PortfolioRequestHandler
类型的示例,并使用@Bean
进行注解1.尝试添加一个配置类(如2.中所述),并将该类添加到
@SpringBootTest(classes = {...}
注解中;参见下面的示例@SpringBootTest(classes = {Application.class, CustomBeanConfig.class})
1.看看这个,也许有帮助:https://stackoverflow.com/a/50267869/150623
q1qsirdb2#
如果
PortfolioRequestHandler
在不同的模块中声明,您可以让Spring扫描并找到指定包路径的Bean。即