IT10 :: 프로젝트 유지보수
추석 연휴가 얼마 안남은 상황에서 이전에 했던 프로젝트 유지보수 포스팅을 수행합니다. 이 포스팅의 목적은 나름대로 메모의 역할과 그리고 프리워밍을 시간을 줄이기 위함입니다. 일부 내용이 도움이 되셨으면 바라는 마음도 있습니다.
ㅡ. 백엔드
백엔드에서는 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 |
댓글
이 글 공유하기
다른 글
-
코드 리뷰 하기
코드 리뷰 하기
2021.06.01 -
프로그래머스 : JOIN
프로그래머스 : JOIN
2020.10.07 -
IT09 :: 2020 : 정보처리기사 2회 후기
IT09 :: 2020 : 정보처리기사 2회 후기
2020.08.28 -
IT08 :: 프로젝트 마감
IT08 :: 프로젝트 마감
2020.08.26