[Spring] 스프링부트의 핵심, @Annotation 기초 정복!

2025. 2. 3. 14:10·Framework/Spring
목차
  1. 왜 @Annotation이 중요한가?
  2. ✅ @SpringBootApplication: 스프링부트의 시작점
  3. ✅ @RestController: API 개발의 기본
  4. ✅ @Autowired: 의존성 주입(DI)의 핵심
  5. ✅ @RequestMapping 및 하위 매핑 어노테이션: 요청 처리의 유연성
  6. 어노테이션, 스프링의 강력한 도구

 

 

 

 

왜 @Annotation이 중요한가?

스프링부트를 배우다 보면 코드 곳곳에서 등장하는 @ 기호를 자주 마주하게 됩니다.

바로 어노테이션(Annotation)입니다.

처음에는 단순한 기호처럼 보이지만, 사실 이 어노테이션은 스프링부트의 강력한 기능을 이끄는 핵심 요소입니다.

이 글에서는 스프링부트 개발에서 필수적으로 알아야 할 주요 어노테이션과 그 역할을 간결하게 설명하겠습니다.

 

 

 


 

 

 

 

✅ @SpringBootApplication: 스프링부트의 시작점

@SpringBootApplication은 스프링부트 애플리케이션의 진입점을 정의하는 어노테이션입니다.

이 어노테이션 하나가 @Configuration, @EnableAutoConfiguration,@ComponentScan 세 가지 기능을 포함하고 있어

초기 설정을 간소화합니다.

핵심 포인트: 이 어노테이션이 붙은 클래스가 프로젝트의 시작점이 됩니다.

@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}

 

 

 

 

✅ @RestController: API 개발의 기본

@RestController는 웹 애플리케이션에서 RESTful API를 개발할 때 사용하는 어노테이션입니다.

내부적으로 @Controller와 @ResponseBody를 결합한 형태로, JSON 형식의 데이터를 반환합니다.
핵심 포인트:
 클라이언트 요청에 대한 JSON 응답을 간단하게 처리할 수 있습니다.

@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, Spring Boot!";
}
}

 

 

 

 

✅ @Autowired: 의존성 주입(DI)의 핵심

스프링의 핵심 개념인 의존성 주입(Dependency Injection)을 구현하는 데 사용하는 어노테이션입니다.

@Autowired를 통해 필요한 객체를 자동으로 주입받을 수 있습니다.

핵심 포인트: 개발자가 객체 생성 로직을 신경 쓸 필요 없이, 스프링이 자동으로 관리합니다.

@Service
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}

 

 

 

 

✅ @RequestMapping 및 하위 매핑 어노테이션: 요청 처리의 유연성

HTTP 요청을 처리할 때 사용하는 어노테이션입니다. 

@RequestMapping은 모든 HTTP 요청(GET, POST, PUT, DELETE 등)을 처리할 수 있으며,

이 외에도 특정 메서드에 특화된 매핑 어노테이션들이 존재합니다.

핵심 포인트: HTTP 메서드에 따라 직관적으로 요청을 처리할 수 있으며, 유지보수가 용이한 코드 작성이 가능합니다.

@PostMapping POST 요청 처리 생성 (CREATE)
@GetMapping GET 요청 처리 조회 (READ)
@PutMapping  PUT 요청 처리 전체 수정 (UPDATE)
@PatchMapping  PATCH 요청 처리 부분 수정 (UPDATE)
@DeleteMapping  DELETE 요청 처리 삭제 (DELETE)
@RestController
@RequestMapping("/api")
public class UserController {
@PostMapping("/users")
public User createUser(@RequestBody User user) {
return userService.save(user);
}
@GetMapping("/users")
public List<User> getUsers() {
return userService.findAll();
}
@PutMapping("/users/{id}")
public User updateUser(@PathVariable Long id, @RequestBody User user) {
return userService.update(id, user);
}
@PatchMapping("/users/{id}")
public User partiallyUpdateUser(@PathVariable Long id, @RequestBody Map<String, Object> updates) {
return userService.partialUpdate(id, updates);
}
@DeleteMapping("/users/{id}")
public void deleteUser(@PathVariable Long id) {
userService.delete(id);
}
}

 

 

 

 


 

 

 

어노테이션, 스프링의 강력한 도구

스프링부트의 어노테이션은 단순한 코드 장식이 아닌, 코드의 가독성을 높이고 개발 생산성을 극대화하는 도구입니다.

@SpringBootApplication, @RestController, @Autowired, @RequestMapping 및 하위 매핑 어노테이션의 역할을 정확히 이해하면 스프링부트 개발이 훨씬 더 수월해질 것입니다.

 

 

 

 

 

728x90
  1. 왜 @Annotation이 중요한가?
  2. ✅ @SpringBootApplication: 스프링부트의 시작점
  3. ✅ @RestController: API 개발의 기본
  4. ✅ @Autowired: 의존성 주입(DI)의 핵심
  5. ✅ @RequestMapping 및 하위 매핑 어노테이션: 요청 처리의 유연성
  6. 어노테이션, 스프링의 강력한 도구
'Framework/Spring' 카테고리의 다른 글
  • [Spring] 동적 쿼리를 활용한 사용자 조회 기능 구현 및 트러블슈팅
  • [Spring] BaseEntity와 생성일 및 수정일 자동화
  • [Spring] REST API란? HTTP 프로토콜로 쉽게 이해하는 REST API의 모든 것
  • [Spring] 스프링 빈이 뭐길래 이렇게 중요할까? | 스프링 IoC 필수 개념
leonie.
leonie.
leveloperleonie. 님의 블로그입니다.
  • leonie.
    leveloper
    leonie.
  • 글쓰기 관리
    • 분류 전체보기
      • Language
        • Java
      • Git
      • CS
      • CodingTest
        • [프로그래머스] 자바
      • Framework
        • Spring
      • Information
      • DBMS
        • Redis
        • SQL
      • AWS
      • OS
        • Mac
      • 자격증
        • 정보처리기사
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    정처기
    자바
    스프링
    코딩테스트
    springboot
    Java
    정보처리기사
    정처기필기
    프로그래머스
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
leonie.
[Spring] 스프링부트의 핵심, @Annotation 기초 정복!
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.