@Configuration
설정 클래스를 정의할 때 사용
Bean을 등록하고 구성할 클래스에 사용
@Bean
Spring 컨테이너에 Bean을 등록
개발자가 직접 관리해야 하는 객체를 Spring 컨테이너에 등록할 때 사용
@Autowired
의존성 주입(DI)을 처리
필요한 Bean을 자동으로 주입
@ComponentScan
특정 패키지를 스캔하여 @Component, @Service, @Repository, @Controller가 붙은 클래스를 Bean으로 등록
설정 클래스에서 컴포넌트를 스캔하도록 설정
@Filter
ComponentScan 시 특정 클래스를 포함하거나 제외
원하는 대상을 스캔하거나 제외할 때 사용
@Component
Spring Bean으로 등록
Spring에서 관리해야 할 일반적인 객체에 사용
@Controller
Spring MVC에서 컨트롤러 클래스로 정의
웹 요청을 처리하고 View와 연결
@Repository
DAO(Data Access Object) 클래스로 정의
데이터베이스와의 상호작용 처리
@Service
비즈니스 로직을 처리하는 클래스 정의
서비스 계층에 사용
@Nullable
필드, 메서드 파라미터가 null일 수 있음을 표시
코드 가독성 및 Null Safety에 도움
@RequiredArgsConstructor
final 또는 @NonNull 필드에 대해 생성자를 자동 생성
Lombok 라이브러리를 사용하여 의존성 주입 간소화
@Qualifier
동일한 타입의 Bean 중 특정 Bean을 지정
Bean 충돌이 발생할 때 특정 Bean을 선택
@Primary
동일한 타입의 Bean 중 기본으로 선택될 Bean 지정
우선적으로 사용될 Bean을 설정
@PostConstruct
Bean 초기화 후 실행할 메서드 정의
초기화 로직이 필요한 경우 사용
@PreDestroy
Bean이 소멸되기 전 실행할 메서드 정의
종료 로직이 필요한 경우 사용
@Scope
Bean의 스코프를 지정
ex) singleton, prototype
Bean 생성 범위를 제어
@RequestMapping
특정 URL에 매핑
컨트롤러 클래스나 메서드에 URL 매핑
@ResponseBody
컨트롤러 메서드의 반환 값을 HTTP 응답 본문으로 직접 반환
REST API 응답 처리
'Spring' 카테고리의 다른 글
[Spring] 스프링 웹 개발 기초(정적 컨텐츠, MVC와 템플릿 엔진, API) (1) | 2024.12.24 |
---|---|
[Spring] 프로젝트 시작하기 (IntelliJ) (0) | 2024.12.22 |