好久沒有寫博客了,放假就是充電學習的時候,的確一直是這樣做的。來給自己一點掌聲。我們還是進入今天的主題吧。
我們自己寫代碼一般會向下面這樣干啊,因為這樣簡單,其余交給spring去做吧。Spring會自動把生成的userService注入進來
@Autowired
private UserService userService;
重點:注入的規則分為兩步:
1、Spring會先查找id為userService的Bean對象,如果找到,注入進來。
2、如果沒有找到id為player的Player對象,那么就去尋找Spring容器中查找UserService的對象(實現類),如果一個都沒有,或者有兩個或者多個,那么就會報錯。
?
說明:@Bean
如果保證只一個同類型的Bean實例,那就可以直接這樣寫,在自己代碼中直接@aotuWrited就行。舉列說明:
@Bean(name = "userName")
public String getUserName() {
return new String("xiaoming");
}
@Autowired
private String user;//變量名字隨意命名,private String hahaha;這樣也沒問題
如果有多個實例的的話,那就要指定Bean的名字了。@Bean("userName")、@Bean("userName2"),同時@aotuWrited變量必須也要保證和BeanName一致。
@Bean(name = "userName")
public String getUserName() {
return new String("xiaoming");
}
@Bean(name = "userName2")
public String getUserName2() {
return new String("xiaoming2");
}
@Autowired
private String userName;//變量名字和BeanName保持一致
說點題外話:Spring默認會向容器中放一些bean,舉個列子說明:
@Autowired
private Environment env;
這個bean就是Spring容器里面的。
編碼風格:能一行代碼解決的事情,堅決不用兩行。
?