XML 설정 방식
<bean id="memberService" class="com.example.MemberService"/>
특징
🔹가장 전통적인 방식
🔹설정을 XML 파일에서 관리
🔹코드와 설정이 분리됨
장점
🔹설정이 한눈에 보임
🔹운영 환경별 설정 분리 쉬움
단점
🔹매우 장황함 (코드 양 많음)
🔹유지보수 어려움
🔹최근 거의 사용 안 함
@ComponentScan + @Component 계열
@Component
public class MemberService {}
또는
@Service
@Repository
@Controller
특징
🔹클래스에 어노테이션 붙이면 자동 등록
🔹@ComponentScan이 해당 패키지를 스캔
장점
🔹코드 간결
🔹자동 등록으로 생산성 높음
단점
🔹어디서 Bean이 등록됐는지 추적 어려움
🔹세밀한 제어가 힘듦
@Bean (Java Config)
@Configuration
public class AppConfig {
@Bean
public MemberService memberService() {
return new MemberService();
}
}
특징
🔹개발자가 직업 Bean 생성 및 등록
🔹메서드 단위로 Bean 정의
장점
🔹객체 생성 과정 제어 가능
🔹외부 라이브러리 Bean 등록 가능
🔹의존성 주입 명확
단점
🔹 코드가 다소 길어질 수 있음
@Import / @Configuration 조합
@Configuration
@Import(AppConfig.class)
public class MainConfig {}
특징
🔹설정 클래스들을 모듈화해서 관리
'🍏 개발일기' 카테고리의 다른 글
| Thymeleaf (1) | 2026.04.01 |
|---|---|
| 전자정부표준프레임워크에 대해서 (0) | 2026.03.30 |
| REST API 란? (0) | 2026.03.29 |
| 동기와 비동기 (0) | 2026.03.27 |
| HTTP 메서드에 대해서 : GET, POST, PUT, PATCH, DELETE (0) | 2026.03.26 |