1. 程式人生 > >intellij IDEA 下解決 IDEA 下Could not autowire. No beans of 'ICpuBidOpenService' type found(後面內容是我轉載的)

intellij IDEA 下解決 IDEA 下Could not autowire. No beans of 'ICpuBidOpenService' type found(後面內容是我轉載的)

1.問題描述

  在Idea的spring工程裡,經常會遇到Could not autowire. No beans of 'xxxx' type found的錯誤提示。但程式的編譯和執行都是沒有問題的,這個錯誤提示並不會產生影響。但紅色的錯誤提示在有些有強迫症的程式設計師眼裡,多多少少有些不太舒服。

 

2. 原因

        原因可能有兩個,第一個是IntellijIDEA本身工具的問題。第二個便是我們匯入@Service包的時候匯入包錯誤造成的

  第一種原因,spring auto scan配置,在編輯情況下,無法找不到對應的bean,於是提示找不到對應bean的錯誤。常見於mybatis的mapper,如下:

<!-- mapper scanner configurer -->
<bean id="mapperScannerConfig" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.adu.spring_test.mybatis.dao" />
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>

 

3. 解決方案

  針對第一種原因,解決辦法是:降低Autowired檢測的級別,將Severity的級別由之前的error改成warning或其它可以忽略的級別。

       針對第二種原因,解決方案當然是匯入正確的包。首先我們來看下最容易匯入的錯誤包,如下所示:

 

import com.alibaba.dubbo.config.annotation.Service;
   正確的包應該是下面這個
 
import org.springframework.stereotype.Service;

(以上內容是我轉載其他博主的)很有用備忘!