문제 상황
// 의도: 주문 생성 메서드 작성
public Order createOrder(long memberId, String itemName, int itemPrice) {
// ...
}
// 결과: IDE가 자동으로 추가한 잘못된 import
import org.springframework.core.annotation.Order;
원인
- Spring Framework에 이미
Order
라는 어노테이션이 내장되어 있음 - IDE가 스프링 관련 클래스를 우선적으로 임포트하는 경향이 있음
- 같은 이름의 클래스가 존재할 때 IDE의 자동 임포트 우선순위 문제
문제 식별 방법
// 잘못된 참조 시 메서드 시그니처가 이렇게 변환됨
public org.springframework.core.annotation.Order createOrder(...) {
return null;
}
해결 방법
잘못된 임포트 제거
// 제거할 import
import org.springframework.core.annotation.Order;
정확한 Order 클래스 사용
// 같은 패키지인 경우
package com.example.order;
public class OrderServiceImpl implements OrderService {
public Order createOrder(...) { ... }
}
예방 팁
- 코드 작성 시 임포트문 자동 추가 확인하기
- 클래스명 입력 후 임포트 경로 재확인
- 스프링 프레임워크와 이름이 중복되는 도메인 클래스 사용 시 주의
IDE 설정 팁
- IntelliJ IDEA의 경우:
Settings → Editor → General → Auto Import
설정 확인- 모호한 임포트 발생 시 직접 선택하도록 설정 변경 고려
'Spring' 카테고리의 다른 글
스프링 프레임워크의 동작 방식 (1) | 2025.06.09 |
---|---|
[3편] 좋은 DI 설계: 스프링의 빈 탐색 원리와 OCP (0) | 2025.06.03 |
[2편] 스프링 DI의 3가지 방식 : 생성자 주입을 써야만 하는 이유 (0) | 2025.06.03 |
[1편] 의존성 주입(DI)과 제어의 역전(IoC), 왜 필요할까? (0) | 2025.06.02 |
✨ 스프링 빈(Bean) 조회: 컨테이너 객체 활용 가이드 (0) | 2025.05.29 |