λ¨Όμ μμ±μ λμ setter λ©μλλ₯Ό μΆκ°νλ€.
public class SamsungTV {
private Speaker speaker;
private int price;
public void SamsungTV(){ }
// μμ±μ λμ setter λ©μλ
public setSpeaker (Speaker speaker){ this.speaker = speaker; }
public void setPrice(int price){ this.price = price; }
}
Setter μΈμ μ μ μ΄μ©νλ €λ©΄ <constructor-arg> λμ <property>λ₯Ό μ¬μ©νλ€.
<bean id="tv" class="polymorphism.SamsungTV">
<property name="speaker" ref="sony"></property>
<property name="price" value="2700000"></property>
</bean>
<bean id="sony" class="polymorphism.SonySpeaker"></bean>
<bean id="apple" class="polymorphism.AppleSpeaker"></bean>
<property>μ name μμ±κ°μ΄ νΈμΆνκ³ μ νλ λ©μλ μ΄λ¦μ΄λ€.
-
name="speaker"μ΄λ©΄ setSpeaker()κ° νΈμΆλκ³
-
name="addressList"μ΄λ©΄ setAddressList()κ° νΈμΆλκ³
-
name="boardDAO"μ΄λ©΄ setBoardDAO()κ° νΈμΆλλ€.
p λ€μμ€νμ΄μ€λ₯Ό μ¬μ©ν μλ μλ€.
p λ€μμ€νμ΄μ€μ λν λ³λμ schemaLocationμ μμΌλ―λ‘ μλμ λ€μμ€νμ΄μ€λ§ μ μ ν μ μΈνκ³ μ¬μ©νλ©΄ λλ€.
xmlns:p="http://www.springframework.org/shema/p"
p:λ³μλͺ
-ref="μ°Έμ‘°ν κ°μ²΄μ μ΄λ¦μ΄λ μμ΄λ"
p:λ³μλͺ
="μ€μ ν μ§μ μ μΈ κ°"
<bean id="tv" class="polymorphism.SamsungTV" p:speaker-ref="sony" p:price="270000"/>
<bean id="sony" class="polymorphism.SonySpeaker"/> <!-- μ§λͺ©λΉν μΉκ΅¬ -->
<bean id="apple" class="polymorphism.AppleSpeaker"/>
'Spring > Spring Quick Start' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
DI μ΄λ Έν μ΄μ ; @Autowired, @Inject, @Qualifier, @Resource (0) | 2020.12.29 |
---|---|
@Component μ¬μ©λ² (0) | 2020.12.29 |
컬λ μ κ°μ²΄ μ€μ μ’ λ₯ (0) | 2020.12.29 |
μμ±μ μΈμ μ (Constructor Injection) μ΄μ©νκΈ° (0) | 2020.12.29 |
μ€νλ§ μμ‘΄μ± κ΄λ¦¬ λ°©λ² (0) | 2020.12.29 |
μ€νλ§ XML μ€μ νμΌμ <import>, <bean> μλ¦¬λ¨ΌνΈ (0) | 2020.12.29 |