728x90
반응형
스프링 빈 설정 메타정보

1. XML
<bean> 태그를 사용
<!-- applicationContext.xml -->
<!-- 생성자 주입 방법 1 -->
<bean id="dao" class="com.test.hello.MemberDaoImpl">
<bean id="service" class="com.test.hello.MemberServiceImpl">
<constructor-arg>
<ref bean="dao"/>
</constructor-arg>
</bean>
<!-- 생성자 주입 방법 2 -->
<bean id="dao" class="com.test.hello.MemberDaoImpl">
<bean id="service" class="com.test.hello.MemberServiceImpl">
<constructor-arg ref="dao">
</bean>
<!-- property 이용 -->
<!-- 1. 하위 태그 이용 -->
<ref bean="bean name"/>
<!-- 2. 속성 이용 -->
<property name="property name=" ref="bean name"/>
<property name="property name=" value="값" />
<!-- 3. xml namesapce 사용 -->
<bean id="service" class="com.test.hello.MemberServiceImpl"
p:name="test"
p:memberDao-ref="dao"
/>
2. Annotation
- 빈 스캐닝을 통해 자동 등록함
- component-scan 사용
- base-package 하위 클래스들을 스캔하여 자동으로 등록해줌
- @Repository, @Service, @Controller, @Component
- 빈 특성, 종류에 따라 구분한 annotation으로 등록
- @Autowired : 타입에 맞춰서 연결해줌
- @Qualifier("name") : 동일 타입 bea이 여러개일 경우 식별
<!-- applicationContext.xml -->
<context:component-scan base-package="com.test.hello.*"/>
@Component
public class MemberServiceImpl implements MemberService{
@Autowired
private MemberDao memberDao;
}
1) setter method - @Resource
2) 필드 - @Autowired
3) 생성자 -@Autowired
동일 타입의 빈이 여러 개일 경우 @Qualifier("name")으로 식별함
스프링 빈 라이프사이클

728x90
'개발일지 > SPRING' 카테고리의 다른 글
[Spring] Spring Boot 3.x에 Swagger 설정하기 (예시 코드) (0) | 2024.06.11 |
---|---|
[Spring Boot] 스프링 부트 프로젝트 생성 (0) | 2023.11.27 |
[Spring] IoC & Container (BeanFactory, ApplicationContext) 개념 (0) | 2023.10.22 |
[Spring] Spring 핵심 개념, 모듈 (0) | 2023.10.22 |
[JSP] JSP 내에서 노출 예약걸기 (0) | 2021.09.08 |