Spring | Annotation이란??

새니·2023년 6월 29일
0

spring

목록 보기
11/13
post-thumbnail

Annotation

스프링에서는 다양한 어노테이션(Annotation)을 제공하여 애플리케이션의 개발과 설정을 간소화 할 수 있다. 어노테이션들은 의존성 주입 , 트랜잭션 관리 등 스프링의 다양한 기능들을 설정하기 위해서 사용된다.


Annotation의 종류와 기능

  • @Component

    • 클래스를 컴포넌트 또는 Bean으로 표시하는데 사용된다. 스프링을 애플리케이션 시작시 이러한 클래스들을 자동으로 감지하고 인스턴스화한다.
@Component
public class MyComponent{
	componete logic
}
  • @Controller

    • MVC(Model-View-Controller)에서 컨트롤러를 사용할 클래를 표시하는데 사용된다. 이 어노테이션을 사용해 HTTP요청을 처리하는 클래스를 식별한다.
    • 특정 URL에 대한 요청을 특정 메서드로 라우팅 할 수 있다. 또 , 모델 및 뷰를 제어 할 수있음
    • 비즈니스 로직의 실행 결과나 처리된 데이터를 모델에 저장하고 적절한 뷰를 선택해 클라이언트에 응답으로 제공한다.
@Controller
public class MyComponent{
	Request handling methods 
}
  • @Service

    • 비지니스 로직을 다른 계층과 분리하고, 데이터 액세스 또는 컨트롤러와 같은 다른 컴포넌트들로부터 독립적으로 유지할 수 있다.
    • 트랙잭션을 관리 기능을 사용 할 수 있다.
    • 의존성 주입기능을 활용 할 수 있다.
@Service
public class MyService {
    Service logic 
}
  • @Repository

    • 데이터 액세스와 영속성을 담당하는 클래스를 나타낸다. 해당 클래스를 리포지토리 컴포넌트로 인식하고 필요한 기능을 제공한다. Spring-context에서 bean으로 등록된다. 이를 통해서 다른 컴포넌트에서 해당 bean을 주입하여 사용 할 수 있다.
@Repository
public class MyRepository {
     Data access methods
}
  • @Autowired

    • 클래스에 자동으로 의존성을 주입하는데 사용된다.
      필드, 생성자 또는 설정 매서드에 적용 할 수 있다.
@Service
public class MyService {
    private MyRepository myRepository;

 
    @Autowired
	private MemberDao memberDao;
	

    // Service methods here
}
  • @RequestMapping

    • 특정 HTTP요청 URL에 매핑하는데 사용된다. 주로 Controller 어노테이션과 함께 사용되며 다른 HTTP요청을 처리하는데 활용된다.
@Controller
public class MyController {
    @RequestMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}
  • @RequestParam

    • 메서드의 매개변수를 요청의 쿼리 매개변수나 폼데이터와 바인딩하는데 사용된다.
    • 주로 HTTP GET 또는 POST요청에서 요청 매개변수를 가져오는데 사용된다.
@Controller
public class MyController {
    @RequestMapping("/search")
    public String search(@RequestParam("keyword") String keyword) {
        // Perform search based on the keyword
        return "Search result: " + keyword;
    }
}
  • @ResponseBody

    • 메서드의 반환 값을 직렬화하여 HTTP응답 본문으로 직접 전송한다.
    • 주로 RESTful API에서 또는 JSON , XML응답을 반환하는데 사용된다.
@Controller
public class MyController {
    @RequestMapping("/user/{id}")
    @ResponseBody
    public User getUser(@PathVariable("id") int userId) {
        // Get user by ID
        return user;
    }
}

😊 어노테이션은 특정한 목적을 가지고 스프링 애플리케이션의 다양한 측면을 설정하고 관리하는데 도움을 준다!

profile
새니의 뒤죽박죽 개발 일기📝

0개의 댓글

관련 채용 정보