JAVA/Theory

[Spring] 의존 주입을 위한 어노테이션

ITs Min 2024. 3. 4. 10:12

스프링의 의존성 주입(Dependency Injection)을 통해 객체들을 관리하고, 코드의 가독성을 높이며, 런타임 시에 필요한 설정을 자동으로 수행할 수 있도록 도와주는 어노테이션들이 있다. 단순히 어노테이션을 붙이는 것만으로는 해당 클래스가 원하는 동작을 하지 않으며, 스프링 설정 파일에 어노테이션을 인식하도록 지시해야 한다.

 

@Component

이 어노테이션은 스프링 컨테이너에 의해 관리되는 클래스를 표시한다. 주로 일반적인 구성 요소로 사용되며, 특별한 의미를 나타내는 다른 어노테이션을 사용하지 않을 경우에는 이 어노테이션을 사용한다.


@Service

비즈니스 로직을 수행하는 서비스 클래스에 주로 사용된다. 주로 트랜잭션 관리, 예외 처리 등과 같은 비즈니스 로직을 처리한다.


@Repository

데이터베이스와 상호 작용하며 데이터 액세스 로직을 포함하는 클래스에 사용된다. 주로 데이터베이스와의 CRUD(Create, Read, Update, Delete) 작업을 처리하는데 사용된다. Spring은 이 어노테이션을 사용하여 자동으로 예외를 변환하고 데이터 액세스 예외를 처리하도록 지원한다.