스프링 제로 부터. - 03.
public interface Instrument {
void play();
}
public class Guitar implements Instrument {
@Override
public void play() {
// TODO Auto-generated method stub
System.out.println("dang dang dang");
}
}
public class Piano implements Instrument{
@Override
public void play() {
// TODO Auto-generated method stub
System.out.println("ding ding ding");
}
}
public class Saxophone implements Instrument{
@Override
public void play() {
// TODO Auto-generated method stub
System.out.println("wu wu wu ");
}
}
public class Band {
private Collection<Instrument> instrument;
public Collection<Instrument> getInstrument() {
return instrument;
}
public void setInstrument(Collection<Instrument> instrument) {
this.instrument = instrument;
}
public void play(){
for(Instrument ins:instrument)
ins.play();
}
}
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext ac = new ClassPathXmlApplicationContext("blog3/bean.xml");
Band band = (Band) ac.getBean("band");
band.play();
}
}
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<bean id="band" class="blog3.Band">
<property name="instrument">
<list>
<ref bean="guitar"/>
<ref bean="piano"/>
<ref bean="saxophone"/>
</list>
</property>
</bean>
<bean id="guitar" class="blog3.Guitar"/>
<bean id="piano" class="blog3.Piano"/>
<bean id="saxophone" class="blog3.Saxophone"/>
set 와 list 의 사용 방식 이 일치 합 니 다. list 를 set 로 바 꾸 면 됩 니 다. 주로 set 에서 요 소 를 중복 할 수 없습니다.또 한 가지 더 말씀 드 리 지만, 결합 을 풀기 위해 서 는 인터페이스 기반 프로 그래 밍 방식 을 추천 합 니 다.또 배열 도 이런 조립 방식 을 사용한다.map
<bean id="bandmap" class="blog3.Band">
<property name="mapIns">
<map>
<entry key="GUITAR" value-ref="guitar"/>
<entry key="PINAO" value-ref="piano"/>
<entry key="SAXOPHONE" value-ref="saxophone"/>
</map>
</property>
</bean>
public class Band {
private Collection<Instrument> instrument;
private Map<String, Instrument> mapIns;
public Map<String, Instrument> getMapIns() {
return mapIns;
}
public void setMapIns(Map<String, Instrument> mapIns) {
this.mapIns = mapIns;
}
public Collection<Instrument> getInstrument() {
return instrument;
}
public void setInstrument(Collection<Instrument> instrument) {
this.instrument = instrument;
}
public void play(){
for(Instrument ins:instrument)
ins.play();
}
public void mapPlay(){
for(String key:mapIns.keySet()){
System.out.println(key);
Instrument tmp = mapIns.get(key);
tmp.play();
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext ac = new ClassPathXmlApplicationContext("blog3/bean.xml");
// Band band = (Band) ac.getBean("band");
// band.play();
Band band2 = (Band) ac.getBean("bandmap");
band2.mapPlay();
}
properties 조립, 비교 와 map, properties 의 key 와 value 는 string 형식 일 수 있 습 니 다. 나머지 는 차이 가 많 지 않 습 니 다. 차이 가 많 지 않 습 니 다. 코드 를 올 리 세 요.http://download.csdn.net/detail/wsrspirit/8868347
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.