2 回答

TA貢獻1799條經驗 獲得超6個贊
答:你應該在類上面加上@Compnnent這個注解,注入到bean里面;或者注意 class的路徑不要寫錯即可不出錯。
一、注解策略:
(1)類級別的注解:如@Component、@Repository、@Controller、@Service以及JavaEE6的@ManagedBean和@Named注解,都是添加在類上面的類級別注解。Spring容器根據注解的過濾規則掃描讀取注解Bean定義類,并將其注冊到Spring IoC容器中。
(2)類內部的注解:如@Autowire、@Value、@Resource以及EJB和WebService相關的注解等,都是添加在類內部的字段或者方法上的類內部注解。SpringIoC容器通過Bean后置注解處理器解析Bean內部的注解。 Spring實現@Autowire解析和注入的核心的類是通過。
二、AutowiredAnnotationBeanPostProcessor來實現的。我們可以通過其方法列表看出,其中對字段的注入,對屬性的注入,還有選擇相應的構造方法來注入。
1:從構造方法的緩存中查詢其構造方法。
2:若緩存中不存在,則根據反射獲取所有構造方法。
3:遍歷所有構造方法,查詢器是否含有@Autowired屬性。
4:判斷Autowired注解中指定了required屬性 (required屬性就是判斷是否強依依賴)若存在required就使用默認構造方法。
5:返回指定的構造方法 注入的時候則是通過inject方法來實現。
添加回答
舉報