추석 연휴가 얼마 안남은 상황에서 이전에 했던 프로젝트 유지보수 포스팅을 수행합니다. 이 포스팅의 목적은 나름대로 메모의 역할과 그리고 프리워밍을 시간을 줄이기 위함입니다. 일부 내용이 도움이 되셨으면 바라는 마음도 있습니다. 

ㅡ. 백엔드 

백엔드에서는 Spring boot 를 사용했습니다. 

프로젝트 구조를 위와 같이 설정하였습니다.
패키지

전체적으로는 MVC 패턴을 사용해서 백엔드를 설정하였습니다. 인터페이스와 클래스를 나누지 않은 이유는 없는데 하나로 패키지에 묶어서 관리하는게 편해서 위와 같이 관리하였습니다.

spring boot의 시작을 위해서 springapplication.run을 동작시킵니다. run 메소드에는 @EnableAutoConfiguration으로 어노테이션된 클래스를 넘겨줍니다. @SpringBootApplication으로 어노테이션 되어있는 이것은 @Configuration, @EnableAutoConfiguration, @ComponentScan 3개를 어노테이션한 결과와 같습니다. 
@Configuration : Spring 여러 설정들을 Java코드 상에서 수행하게 됩니다. 이전에 XML했던것에 비해 현재는 Java코드로 수행할 수 있습니다. 
@EnableAutoConfiguration : Spring 설정을 자동화합니다. 이 종속성을 추가하여 Spring MVC와 같은 라이브러리를 설정 기입없이 사용할 수 있습니다. 
@ComponentScan : DI 컨테이너가 관리하는 Bean을 자동 등록해주는 어노테이션입니다. 디렉토리를 보고 @Component 어노테이션이 부여된 클래스를 Bean으로 컨테이너에 등록하게 됩니다. 

@ApiResponses : 문서에 따르면 REST API 콜을 수행했을 때 성공 혹은 실패에 관련된 메시지를 알려줍니다. //localhost/swagger-ui.html 에 접속하여 확인했을때 각 Status 에 따라 메시지가 남겨지는것을 알 수 있습니다. 
@RestController : RestController는 @Controller + @ResponseBody JSON 형태로 객체 데이터를 반환합니다. 

Client가 URL형식으로 웹 서비스를 요청하게 되면 Mapping 되는 Handler와 Type을 찾는 요청을 Dispatcher Servlet이 가로채서 찾아주게 됩니다. REST Controller 는 해당 요청을 처리하고 데이터를 반환하게 됩니다.  
@CrossOrigin : 웹 브라우저 상에서 Ajax 통해서 다른 도메인의 URL을 호출하는 경우에 나타나는 이슈에 대응하기 위해서 Spring에서 제공하는 어노테이션입니다. 클라이언트 단에서 이슈를 해결할 수 있지만 서버단에서 이슈를 해결하는 방법입니다. 
@RequestMapping : RequestMapping 어노테이션을 통해서 URL을 매핑 시켜줍니다. 크게 보면 메서드, 클래스, HTTP Request Method HTTP 요청 유형 값만으로도 매핑을 수행할 수 있습니다.  
@ Api : 
@Autowired : 
@ResponseBody : 
@RequestMapping : 
@ApiOperation : 

 

*ref : 
https://araikuma.tistory.com/8, 프로그램 개발 지식 공유님 블로그
https://mangkyu.tistory.com/49, 망나니 개발자님 블로그
https://ithub.tistory.com/63, Faill in I님 블로그 

'IT' 카테고리의 다른 글

코드 리뷰 하기  (0) 2021.06.01
프로그래머스 : JOIN  (0) 2020.10.07
IT09 :: 2020 : 정보처리기사 2회 후기  (0) 2020.08.28
IT08 :: 프로젝트 마감  (0) 2020.08.26
IT07 :: 프록시 서버란?  (0) 2020.08.26