@Autowired中還傳遞了一個required=false的屬性,false指明當userDao執行個體存在就注入不存就忽略,如果為true,就必須注入,若userDao執行個體不存在,就抛出異常。
對這句@Autowired注解的了解:
上面注解的@Autowired注解的意思就是要把userDao執行個體自動注入到本Bean(userServiceImpl)中,在spring運作起來,或者在實際運作中,需要用到本Bean時,就要将userDao注入,@Autowired用的是byType的方式,這時如果UseDao有聲明(不管是xml還是注解方式),然後就會調用它的空參構造(有參還是空參看你怎麼配置的),生成userDao對象然後注入到本Bean,如果required=false,當userDao執行個體存在就注入不存就忽略,意思就是我這個要構造的對象就算構造失敗(由于沒聲明或者其他原因),然後為null了(相當于沒注入),也不影響,
如果如果為true,就必須注入,若userDao執行個體不存在,就抛出異常。意思就是強行要注入,不注入就報錯
隻要是有聲明的bean(不管是xml還是注解方式),在它(的對象)需要被注入時,都會預設的去調用它的空參或者有參構造(看怎麼配置的)
