c. Bean Definition - kimxavi/spring_tutorial GitHub Wiki
Beanμ μΈμ€ν΄μ€νλκ³ , 쑰립λκ³ , Spring IoC containerμ κ΄λ¦¬λλ κ°μ²΄μ΄λ€. μ΄ beanλ€μ 컨ν μ΄λμ 곡κΈνλ μ€μ λ©νλ°μ΄ν° μλ₯Ό λ€μ΄, κ³Ό κ°μ XML νΌμ μν΄ μμ±λλ€. bean μ μλ μ€μ λ©νλ°μ΄ν°μ μ 보λ₯Ό ν¬ν¨νλ€.
- beanμ΄ μ΄λ»κ² μμ±λλμ§
- beanμ λΌμ΄ν μ¬μ΄ν΄ μμΈ
- beanμ μμ‘΄μ±(dependencies)
- class : μ΄ μμ±μ μ무μ μ΄λ€. beanμ μμ±μ μ¬μ©λ ν΄λμ€λ₯Ό λͺ μνλ€.
- name : bean μ κ³ μ μ identifier μ΄λ€. XML μ€μ λ©νλ°μ΄ν°μμ id κ·Έλ¦¬κ³ /λλ name μμ±μΌλ‘ beanμ λͺ μνλ€.
- scope : μ΄ μμ±μ μμ±λ κ°μ²΄μ λ²μλ₯Ό μ§μ νλ€.
- constructor-arg, properties, autowiring mode : μ΄κ²μ μμ‘΄μ± μ£Όμ μ μ¬μ©λλ€.
- lazy-initialization mode : lazy-initialized bean μ μμν λ 보λ€, 첫 μμ² λ bean μΈμ€ν΄μ€κ° μμ±λλλ‘ IoC 컨ν μ΄λμ μμ²ν©λλ€.
- initialization method : beanμ νμν λͺ¨λ μμ±λ€μ΄ 컨ν μ΄λμ μν΄ μΈν λ νμ λΆλ¬μ§λ μ½λ°±
- destruction method : 컨ν μ΄λκ° beanμ΄ μλ©Έλμ΄μ§λ κ²μ ν¬ν¨ν λ λΆλ¬μ§λ μ½λ°±
- XML κΈ°λ°μ μ€μ νμΌ
- μ΄λ Έν μ΄μ κΈ°λ°μ μ€μ
- μλ° κΈ°λ°μ μ€μ
XML κΈ°λ° μ€μ νμΌ μμ
<?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-3.0.xsd">
<!-- A simple bean definition -->
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with lazy init set on -->
<bean id="..." class="..." lazy-init="true">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with initialization method -->
<bean id="..." class="..." init-method="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with destruction method -->
<bean id="..." class="..." destroy-method="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here -->
</beans>