1. 程式人生 > >3.用Spring管理物件之間的關聯關係

3.用Spring管理物件之間的關聯關係

按照傳統的面向物件邏輯,每次我想利用printer物件來列印的時候,就必須要給printer物件裡的成員變數message賦值,但我不想每次都這麼麻煩,怎麼辦呢?

我們回到MessagePrinter類,在它的serMessage函式上加一行註解,@Autowired,這個註解的意思是自動呼叫setService函式。

這樣,它就能幫我們把service和printer之間的關聯關係創建出來了。

為了測試註解是否可用,我們回到ApplicationSpring類,把setMessage這行程式碼註釋掉再執行看看。

既然setService這行程式碼沒用了,那我們也就沒必要把這個物件獲取出來了,就把它也註釋掉

結果執行成功

 

這裡我們的流程是:

  1. 先進行Spring容器的初始化

     

  2. 然後從容器中拿到Printer物件

     

  3. 由於Service物件和Printer物件有了註解@Component,所以在Spring容器初始化時它就已經被初始化,再加上Printer物件裡的setMessage函式也有了@Autowired註解,則service物件就自動與Printer物件繫結起來了,我們就可以直接用了。