728x90
최근 프로젝트에서 Spring 설정을 대부분 XML 기반으로 구성하는 케이스가 있었고, 이에 따라 자주 사용되는 Bean 설정 방식들을 정리해본다.
이 글은 XML 방식의 Spring 설정이 필요한 상황에서 참고용으로 사용하기 좋다.
1. 변수 없는 Bean 생성
가장 기본적인 형태의 Bean 선언으로, 단순히 클래스만 지정하면 된다.
<bean id="testService" class="com.example.test.TestService" />
2. property 태그를 이용한 Bean 의존성 주입 (Setter 방식)
Setter 메서드를 통해 값을 주입하는 방식이다.
<bean id="testService" class="com.example.test.TestService">
<property name="param" value="value"/>
<property name="repository" ref="testRepository"/>
</bean>
<bean id="testRepository" class="com.example.test.TestRepository" />
- value : 문자열, 숫자 등 단순 값 주입
- ref : 다른 Bean을 참조하여 주입
3. constructor-arg를 이용한 생성자 주입
생성자 인자를 이용해 값을 주입할 수 있다. 순서를 중요하게 고려해야 한다.
<bean id="testService" class="com.example.test.TestService">
<constructor-arg value="value" />
<constructor-arg>
<ref bean="testRepository"/>
</constructor-arg>
</bean>
<bean id="testRepository" class="com.example.test.TestRepository" />
4. factory-method를 이용한 정적 메서드 기반 Bean 생성
정적 메서드(static method)를 호출하여 Bean을 생성하는 방식이다.
<bean id="testFactoryService"
class="com.example.test.TestFactoryService"
factory-method="getInstance">
<constructor-arg>
<props>
<prop key="param">value</prop>
</props>
</constructor-arg>
</bean>
※ 참고 및 주의사항
- 위 4가지 방식은 Spring XML 설정에서 가장 핵심적인 Bean 설정 방식이다.
- SI 프로젝트를 하다보면 레거시 시스템을 다루어야 할 경우가 있어서 해당 방법도 이해하면 많은 도움이 된다.
- Spring Boot 이후로는 대부분 @Configuration, @Bean, @Component 등 Java Config 방식 또는 어노테이션 기반 설정이 일반적이다.
728x90
'개발 > 개발 구현' 카테고리의 다른 글
[Spring Boot DDNS 자동 갱신] DuckDNS와 함께하는 DDNS IP 자동화 프로그램 만들기 (0) | 2025.05.01 |
---|---|
Java에서 암호화된 ZIP 파일 푸는 방법 (Zip4j 라이브러리 사용법) (0) | 2025.04.22 |
Java로 DNS 서버 만들기 – 모바일 테스트를 위한 자체 DNS 구축 방법 (1) | 2025.04.20 |
Java에서 Telegram 봇 만들기 – telegrambots 라이브러리 사용법 & 메시지 수신 및 삭제 예제 (0) | 2025.04.18 |
JAVA에서 XML 전자문서에 디지털 서명하는 방법 (PKCS12 인증서 사용) (0) | 2025.04.16 |