@Component
: 일반적인 스프링 Bean으로 등록.
@Service
: 서비스 계층에서 사용. 가독성을 위해 명시적으로 사용.
@Repository
: 데이터 액세스 계층에서 사용. 데이터베이스 관련 Bean으로 등록하며, 예외를 Spring 예외로 변환하는 역할.
@Controller
: 웹 컨트롤러로 등록. HTTP 요청을 처리하고 뷰 반환.
@RestController
: @Controller + @ResponseBody의 조합으로, JSON 또는 XML 응답 처리.
@Configuration
: 설정 클래스임을 명시. Bean 등록 및 스프링 설정.
@Bean
: 메서드 레벨에서 Bean 등록.
@Autowired
: 스프링 컨테이너에서 Bean을 자동 주입.
@Qualifier
: 동일한 타입의 Bean 중 특정 Bean을 주입할 때 사용.
@Primary
: 여러 Bean 중 기본 Bean을 지정.
@RequestMapping
: 클래스 또는 메서드 수준에서 요청 경로를 매핑.
@GetMapping, @PostMapping, @PutMapping, @DeleteMapping 등이 세분화된 형태로 자주 사용됨.@PathVariable
: URL 경로의 변수 값을 가져옴. (/users/{id})
@RequestParam
: 요청 파라미터 값을 매핑. (?key=value)
@RequestBody
: HTTP 요청 Body의 데이터를 객체로 매핑.
@ResponseBody
: 메서드에서 반환된 데이터를 JSON 또는 XML로 변환하여 응답.