Spring Boot에서 사용되는 Bean 등록 방법을 간단히 정리한 글입니다.
1. @Component 계열 어노테이션 사용
@Service // 또는 @Component, @Repository, @Controller 등
public class MyServiceImpl implements MyService {
public void doSomething() {
System.out.println("서비스 로직 실행");
}
}
- 장점
- 간단하고 직관적입니다.
- 역할 구분으로 가독성이 좋습니다.
- 스프링 부트의 자동 구성(@ComponentScan) 덕분에 빠르게 적용 가능합니다.
- 단점
- 스캔 범위 밖이면 등록되지 않습니다.
- 등록 조건, 순서, 제어 등의 유연성이 부족합니다.
2. @Configuration + @Bean
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
- 장점
- 명시적이고 가시성 높습니다.
- 복잡한 생성자, 의존성 설정, 조건 분기 등 유연하게 처리 가능합니다. (@Profile, @Conditional, @DependsOn, @Order 등)
- 단점
- 간단한 클래스도 직접 등록해야합니다.
- 관리할 설정 클래스가 많아지면 복잡해집니다.
3. XML 기반 Bean 등록
<bean id="myService" class="com.example.MyServiceImpl"/>
- 장점
- 외부 설정 관리, 배포 시점에 소스 코드 수정 없이 설정만 바꿀 수 있습니다.
- 단점
- 문자열 기반이라 오타가 발생해도 컴파일 시점에 잡히기 어렵습니다.
- 가독성이 낮습니다.
'Spring' 카테고리의 다른 글
Spring Boot에서 @RestController로 들어온 HTTP 요청이 처리되어 응답으로 변환되는 전체 과정 (0) | 2025.04.06 |
---|---|
웹 API의 발전 과정: SOAP에서 REST로의 전환 (0) | 2025.04.06 |
Spring MVC: 클라이언트 요청 처리 흐름 (0) | 2025.03.25 |
스프링 AOP (0) | 2025.03.25 |
Spring Framework 탄생 배경 (0) | 2025.03.16 |