-
問題:當一個類被 @Component 注解修飾,或者在 applicationContext 配置文件中使用了 <bean> 標簽配置,將其交給 Spring 容器進行管理后,如果在該類的屬性或方法中new了對象,這個類將不能再被其他類使用 @Autowired 自動注入,會報空指針異常。
-
解決方法:雖然 Spring 管理下的類中依舊可以使用 new 的方式生成對象,但是不推薦這么做,這樣做了之后,該類只能通過手動調用 ClassPathXmlApplicationContext 類的 getBean 方法獲取實例對象。建議一個類中使用的所有對象應該事先在 Spring 配置文件中定義好, 或者使用注解的方式統一交給 Spring 容器進行管理,使用的時候直接使用 @Autowired 獲取實例對象即可。
