본문 바로가기

Web developer/Spring12

[Spring] MockMVC Test Web API를 많이 작성하다보면 웹 애플리케이션을 실행하고 브라우저를 열어서 테스트할 URI를 입력하고 다시 코드를 작성하고 웹 애플리케이션을 재시작하는 등을 반복하게 된다. 이때 Web API를 실행하는 실행하는 시간보다 웹 애플리케이션을 실행하고 종료하는 시간이 더 오래걸리는 상황이 발생하게 되는데 여기에는 문제점이 있다. 1. 개발자의 수동 테스트 2. 코드 수정 후 서버를 재시작하고 테스트 이런 문제를 해결하기 위해 다음과 같은 방법을 사용할 수 있다. 1. JUnit 테스트 2. MockMVC 테스트 이 글에서 MockMVC을 이용하여 Web API테스트를 직접 해보려고 한다. 1. MockMVC란? 우리는 웹 애플리케이션을 작성한 후, 해당 웹 애플리케이션을 Tomcat이라는 이름의 WAS(.. 2021. 8. 2.
[Spring] Swagger를 사용하여 Web API 문서화 해보기 Swagger에 대하여 간단히 알아보고 Spring에서 Swagger를 이용해 간단한 Web API를 명세화해보려고 한다. 1. Swagger Swagger는 Web API 문서화를 위한 도구이다. https://swagger.io에서는 Swagger를 OAS(Open API Specification)이라고 소개하고 있다. 말 그대로 API들이 가지는 명세(Spec)을 관리하기 위한 프로젝트라고 말할 수 있다. Web API를 수동으로 문서화하는 것은 힘들 뿐더러 Web API의 스펙이 변경되었을 때 문서 역시 변경이 돼야 하는데 이를 유지하는 것은 쉽지 않다. Swagger를 사용하면 Web API가 수정되더라도 문서가 자동으로 갱신된다. 2. Swagger의 기능 1) API Design 2) API.. 2021. 8. 2.
[Spring] IoC & DI IoC(Inversion of Control) - 작업을 수행하는 쪽에서 Object를 생성하는 제어 흐름의 개념을 거꾸로 뒤집는다. - IoC에서는 Object가 자신이 사용할 Object를 생성하거나 선택하지 않는다. - Object는 자신이 어떻게 생성되고 어떻게 사용되는지 알 수 없다. - 모든 Object는 제어 권한을 위임받는 특별한 Object에 의해서 만들어지고 사용된다. IoC 구현 방법 DL(Dependency Lookup) - 의존성 검색 저장소에 저장되어있는 Bean에 접근하기 위해 개발자들이 - 컨테이너에서 제공하는 API를 이용하여 사용하고자 하는 Bean을 Lookup하는 것 DI(Dependency Injection) - 의존성 주입 - 각 계층 사이, 각 클래스 사이에 필요.. 2021. 7. 27.
[Spring] Annotation @정리2 2021.04.18 - [WEB developer/Spring] - [Spring] Annotation @정리1 [Spring] Annotation @정리1 Spring에 대해 공부하면서 annotation이 계속 생소했다. 다양한 annotation에 대해 앞으로 계속 정리해보려고 한다. Annotation이란? 어노테이션은 xml 설정이 너무 길어짐에 따라 그 대안으로 나타났다. 어 doongjun.tistory.com 이전 포스팅에 이어 다양한 어노테이션들을 정리해보려 한다. @Component component-scan을 선언에 의해 특정 패키지안의 클래스들을 스캔하고, @Component 어노테이션이 있는 클래스에 대해 bean 인스턴스를 생성한다. @Controller, @Service, @R.. 2021. 4. 18.
[Spring] Annotation @정리1 Spring에 대해 공부하면서 annotation이 계속 생소했다. 다양한 annotation에 대해 앞으로 계속 정리해보려고 한다. Annotation이란? 어노테이션은 xml 설정이 너무 길어짐에 따라 그 대안으로 나타났다. 어노테이션이란 본래 주석이라는 뜻으로 인터페이스를 기반으로 한 문법이다. 주석처럼 코드에 달아 클래스에 특별한 의미를 부여하거나, 기능을 주입할 수 있다. 또 해석되는 시점을 정할 수도 있다. 어노테이션을 세가지로 분류할 수 있다. Built-in annotation - JDK에 내장된 어노테이션 Meta annotation - 어노테이션에 대한 정보를 나타내기 위한 어노테이션 Custom annotation - 개발자가 정의한 어노테이션 Built-in Annotation @O.. 2021. 4. 18.