- 어노테이션 정리2024년 09월 17일
- tjdudtn
- 작성자
- 2024.09.17.:03
- @Autowired: 의존성 주입(Dependency Injection)을 수행할 때 사용되며, 필드, 생성자, 메서드에 적용할 수 있습니다.
- @Controller: 웹 애플리케이션의 컨트롤러 클래스를 표시합니다.
- @Service: 비즈니스 로직을 수행하는 서비스 클래스를 표시합니다.
- @Repository: 데이터 액세스 계층에 사용되는 리포지토리 클래스를 표시합니다.
- @RestController: RESTful 웹 서비스의 컨트롤러 클래스를 표시합니다. **@Controller**와 **@ResponseBody**를 함께 사용하는 단축 형태입니다.
@Configuration과 @Component의 주요 차이점
@Configuration은 스프링 빈을 정의하는 설정 클래스에 붙이는 반면, @Component는 단순히 스프링이 관리해야 하는 클래스를 표시할 때 사용됩니다.
@Configuration은 보통 @Bean 어노테이션과 함께 사용되어 스프링 빈을 생성하는 메소드를 정의하고, 이를 빈으로 등록합니다. 반면 @Component는 주로 단순한 POJO 클래스에 사용됩니다.
💡 POJO란
Plain Old Java Object 의 약어로, 특정한 제한이나 규약이 없는 일반적인 자바 객체를 가리킵니다. 즉, POJO 클래스는 특정 프레임워크나 라이브러리에 종속되지 않고 순수하게 자바로 작성된 클래스를 의미합니다.
@Component 어노테이션은 주로 이러한 단순한 POJO 클래스에 사용됩니다. 예를 들어, 서비스나 레포지토리와 같은 비즈니스 로직이나 데이터 액세스 로직을 수행하는 클래스들은 보통 @Service나 @Repository 어노테이션을 사용하여 스프링 빈으로 등록됩니다. 하지만 그 외의 일반적인 도메인 모델이나 유틸리티 클래스와 같은 경우에는 특별한 어노테이션 없이도 그 자체로 스프링 빈이 될 수 있습니다.
따라서 @Component 어노테이션은 이러한 일반적인 클래스를 스프링 빈으로 등록할 때 사용됩니다. 이렇게 등록된 빈은 스프링 애플리케이션 내에서 주입되거나 사용될 수 있습니다.'Spring Boot > Bank App 만들기 (deployment)' 카테고리의 다른 글
회원 가입(트랜잭션, 예외 처리, H2 테이블 생성) (0) 2024.09.18 MyBatis 설정 (DB 접근 기술이란?) (0) 2024.09.18 Exception Handler 처리(HTTP 상태 코드가 뭘까?) (0) 2024.09.17 MainController, mainPage.jsp 구현 (0) 2024.09.17 화면 구현 - 2(레이아웃 분리) (0) 2024.09.17 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)