1.
1 package soundsystem; 2 3 public class SgtPeppers implements CompactDisc { 4 5 private String title = "Sgt. Pepper's Lonely Hearts Club Band"; 6 private String artist = "The Beatles"; 7 8 public void play() { 9 System.out.println("Playing " + title + " by " + artist); 10 } 11 12 }
2.
1 package soundsystem; 2 import org.springframework.beans.factory.annotation.Autowired; 3 4 public class CDPlayer implements MediaPlayer { 5 private CompactDisc cd; 6 7 @Autowired 8 public CDPlayer(CompactDisc cd) { 9 this.cd = cd; 10 } 11 12 public void play() { 13 cd.play(); 14 } 15 16 }
一、-<constructor-arg>
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="compactDisc" class="soundsystem.SgtPeppers" /> <bean id="cdPlayer" class="soundsystem.CDPlayer"> <constructor-arg ref="compactDisc" /> </bean> </beans>
二、c-namespace(3.0开始有)
(1)指定参数名称
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:c="http://www.springframework.org/schema/c" 5 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 6 7 <bean id="compactDisc" class="soundsystem.SgtPeppers" /> 8 9 <bean id="cdPlayer" class="soundsystem.CDPlayer" 10 c:cd-ref="compactDisc" /> 11 12 </beans>
(2)指定参数顺序
<bean id="cdPlayer" class="soundsystem.CDPlayer" c:_0-ref="compactDisc" />
(3)如查构造函数只有一个参数,则可以连顺序都不用指定
<bean id="cdPlayer" class="soundsystem.CDPlayer" c:_-ref="compactDisc" />