之前總是學着用,但不明白其具體意義,抽空專門學習了下。
看個非常常見的應用實例
我們用IDEA簡單構建一個項目demo,目錄結構如下
目錄結構
一般在controller里,我們需要調用service,這時候就需要用到註解 @Autowired
@Autowired
private IUserService userService;
@Autowired 這個annotation,它是為了告訴spring,這個對象沒有實例化,需要注入一個IUserService的實例,可是問題是,IUserSerivce是一個接口,如果不指定就不知道你想用哪個實現類,Spring會首先看自己的容器里有沒有一個叫做userService的對象,如果找不到就在 配置文件 里配置的路徑下面尋找IUserService的實現類,找到了就把它的對象拿過來。
@Autowired 顧名思義,就是自動裝配,其作用還可以是為了消除代碼Java代碼裡面的getter/setter與bean屬性中的property。當然,getter看個人需求,如果私有屬性需要對外提供的話,應當予以保留。
一一一一