spring容器的设值注入和构造注入
生活随笔
收集整理的這篇文章主要介紹了
spring容器的设值注入和构造注入
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
例如我們現(xiàn)在有一個(gè)Computer類:
public class Computer {private String cpu;private String hdd;//硬盤private String mainboard;//主板private int type;//版本號(hào)//顯示配置信息public void show() {System.out.println("cpu:"+cpu+" hdd:"+hdd+"mainboard: " +mainboard);System.out.println("type: "+type);}public String getCpu() {return cpu;}public void setCpu(String cpu) {this.cpu = cpu;}public String getHdd() {return hdd;}public void setHdd(String hdd) {this.hdd = hdd;}public String getMainboard() {return mainboard;}public void setMainboard(String mainboard) {this.mainboard = mainboard;}public int getType() {return type;}public void setType(int type) {this.type = type;}}?
1、基本類型值或者String類型的值的注入,property中name與類中定義的屬性名一致,值由value指定,int類型的值也可以直接指定value="5"
(1)設(shè)值注入
原理:創(chuàng)建對(duì)象后,利用反射調(diào)用對(duì)象的setter方法,為相關(guān)的屬性注入值
<bean id = "computer" class="com.zlc.test.Computer"><property name="cpu" value="i7"></property><property name="hdd" value="4G"></property><property name="mainboard" value="bestone"></property><property name="type" value="5"></property></bean>(2)構(gòu)造注入
原理:在創(chuàng)建對(duì)象時(shí),利用反射調(diào)用該帶參的構(gòu)造函數(shù)創(chuàng)建對(duì)象實(shí)例
原Computer改為這樣:
public class Computer {private String cpu;private String hdd;//硬盤private String mainboard;//主板private int type;//版本號(hào)//顯示配置信息public void show() {System.out.println("cpu:"+cpu+" hdd:"+hdd+"mainboard: " +mainboard);System.out.println("type: "+type);}public Computer(String cpu,String hdd,String mainboard,int type) {this.cpu = cpu;this.hdd = hdd;this.mainboard = mainboard;this.type = type;}}<bean id = "computer" class="com.zlc.test.Computer"><constructor-arg index="0" value="i7"></constructor-arg><constructor-arg index="1" value="4G"></constructor-arg><constructor-arg index="2" value="good"></constructor-arg><constructor-arg index="3" value="5"></constructor-arg></bean>
以上的index用來標(biāo)識(shí)參數(shù)在構(gòu)造器中的順序,從0開始計(jì)數(shù)
2、引用類型值的注入
(1)設(shè)值注入:
原Computer改為這樣:
public class Computer {private Date date;public Date getDate() {return date;}public void setDate(Date date) {this.date = date;}}在applicationContext.xml配置為:
<bean id = "computer" class="com.zlc.test.Computer"><property name="date" ref="date"></property></bean><bean id="date" class="java.util.Date"></bean>(2)構(gòu)造注入
原Computer改為這樣:
public class Computer {private Date date;public Computer(Date date) {this.date = date; }}在applicationContext.xml配置為:
<bean id = "computer" class="com.zlc.test.Computer"><constructor-arg index="0" ref="date"></constructor-arg></bean><bean id="date" class="java.util.Date"></bean>?
轉(zhuǎn)載于:https://www.cnblogs.com/zlingchao/p/9404399.html
總結(jié)
以上是生活随笔為你收集整理的spring容器的设值注入和构造注入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模板代码复用的三种方式: 宏, 继承,
- 下一篇: 0801作业