본문 바로가기
백엔드/스프링+boot

Controller , componet 어노테이션. CLASS, 컴포넌트, 모듈 .

by 임지혁코딩 2023. 12. 27.

Controller

 

사용자의 입력이 최초로 받아들여지는 곳 

 

@Restcontroller -> 완성할 bean이 , restcontroller라는 type으로 등록. 

response body가 자동으로 달린다. 즉 , RESTAPI를 입력으로 받는 진입점으로 사용하겠다 

사실상 @Component이다. 

 

@Component ? 가장 기본적인 방식. -> 최소한의 단위 . 모듈로써 시스템을 유지보수하는 부품. 

컴포너트는 클래스와 다른 개념이고 , interface를 통해서만 접근할 수 있다. 

모든 빈은 컴포넌트이지만 모든 컴포넌트가 빈은 아님. 어노테이션으로 해당 class가 빈임을 알린 형태.

 

'기능, 혹은 시각적인 하나의 요소 ' 

 

완성한 CLASS를 COMPONENT로 등록할때는 @COMPONENT를, 

완성한 CLASS를 METHOD 단위로 CONFIGURATION(주로 외부 라이브러리 등록)시 

@BEAN을 사용한다. 

 

개념상으로 하나의 컴포넌트에는 여러가지 CLASS가 포함될 수도, 한가지 CLASS일 수도 있따. 

 

CLASS는, 특정 객체를 정의하기 위한 METHOD와 변수. (객체 생성을 위한)

 

모듈과 컴포넌트 :기능적인 요소 하나를 의미하고, 둘 다 한개의 폴더도, CLASS도 될 수 있지만 .

 

구조적인 요소 하나일땐 모듈 EX) 팔 COMPONENT는 독립적으로 실행되고 배포되는 . 좀더 현실적인 단위 

 

10CLIENT - 1 SERVER시, 모듈은 2개, 컴포넌트는 11개

 

 

@ResponseBody를 달아준다는 것의 의미 . 순수한 API로 만든다. 이는 json으로 받아서 json으로 응답하는데, 이 어노테이션을 통해서 이를 가정하고 준비해준다. 요청하는 측에서도 자동으로 변경하지만, JSON으로 값을 내릴게! 란 뜻

 

@GetMapping("/어쩌구저쩌구")

해당 url로 들어온 get method의 요청에 따라서 이하의 행동을 진행하겠다. 

(post,put등등도 마찬가지이다)

 

ex) 

 

 

@Slf4j를 통해서, log로 요청이 잘 들어왔음을 띄워주었다!

 

'백엔드 > 스프링+boot' 카테고리의 다른 글

Transaction, Transactional  (0) 2023.12.28
H2 database , DB활용 / Entity 추가 / Repository,service 간단 복습  (0) 2023.12.27
롬복 + Dto 상세  (0) 2023.12.27
테스트  (0) 2023.12.25
Controller  (0) 2023.12.21