Spring Bean常用依賴注入方式詳解
一般而言,Spring的依賴注入有三種:構造器注入、setter注入以及接口注入。本文主要講構造器注入與setter注入。
1、構造器注入
為了讓Spring完成構造器注入,我們需要去描述具體的類、構造方法并設置構造方法的對應參數(shù)。
代碼如下:
public class Role {
private Long id;
private String roleName;
private String note;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public String getNote() {
return note;
}
public void setNote(String note) {
this.note = note;
}
public Role(String roleName, String note) {
this.roleName = roleName;
this.note = note;
}
public Role() {
}
public void run() {
System.out.println("roleName:" + roleName + ";" + "note:" + note);
}
}
這個時候是沒有辦法利用無參的構造方法去創(chuàng)建對象的,為了使Spring能正確創(chuàng)建這個對象,需要在xml文件中加入如下bean:
<bean id="role1" class="com.ssm.chapter.pojo.Role">
<constructor-arg index="0" value="總經(jīng)理" />
<constructor-arg index="1" value="公司管理者" />
</bean>
其中,constructor-arg元素用于定義類構造方法的參數(shù),index用于定義參數(shù)的位置,而value是設置值,通過這樣定義spring便知道使用Role(String, String)這樣的構造方法去創(chuàng)建對象了。
2、使用setter注入
setter注入是Spring最主流的注入方式,它消除了使用構造器注入多個參數(shù)的可能性,可以把構造參數(shù)聲明為無參的,然后使用setter注入為其設置對應的值。需要注意的是,如果類中沒有構造函數(shù),JVM會默認創(chuàng)建一個無參構造函數(shù)。xml代碼清單如下:
<bean id="role2" class="com.ssm.chapter.pojo.Role" >
<property name="roleName" value="高級工程師" />
<property name="note" value="重要人員" />
</bean>
接著編寫測試類即可:
ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-cfg.xml");
Role role = (Role) ctx.getBean("role2");
role.run();
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java中SimpleDateFormat 格式化日期的使用
本文主要介紹了Java中SimpleDateFormat 格式化日期的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
windows下zookeeper配置java環(huán)境變量的方法
今天小編就為大家分享一篇關于windows下zookeeper配置java環(huán)境變量的方法,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03

