티스토리 뷰

728x90
반응형

목차

     

    Spring Boot

     

    스프링 부트는 복잡한 세팅과 구성을 개발자 대신 간결하게 처리하는 스프링 프로젝트 중 하나다. 구체적으로는

     

    1. 복잡한 .xml 파일에서 .yml 파일로의 전환
    2. build.gradle을 통한 의존 라이브러리 버전 자동 관리
    3. starter 모듈 의존 라이브러리를 통한 앱 및 앱을 띄울 서블릿 컨테이너 자동 구성
    4. .jar 파일로의 빌드를 통해 바로 실행 가능한 파일 생성
    5. 내장 WAS(Web Application Server, 혹은 서블릿 컨테이너)를 통한 손쉬운 배포

    가 그 특징이라고 할 수 있다.

     

    +) 서블릿 컨테이너 - 클라이언트의 요청을 처리하고 반환하는 서블릿의 실행 및 생명주기를 관리하는 역할

     

    Spring AOP

     

    AOP(Aspect Oriented Programming)는 직역하면 관심 지향 프로그램으로서, 객체 지향 프로그래밍을

     

    구현 혹은 보완하는 프로그래밍 방식 중 하나다. 구체적으로는 앱을 관통하는 보안, 로깅, 통계 등의 관심사를

     

    한 곳에 모아 모듈화 함으로써 관리 및 변화의 편의성과 재사용성의 증가 및 메서드 복잡도 하락과 중복 코드의 방지, 이어서 그에 따라오는

     

    핵심기능에 대한 집중도 증가로 나타나게 된다.

     

    추가로 AOP와 비슷하게 공통사항을 처리할 수 있는 기능에는 필터와 인터셉터가 존재하는데,

     

    셋의 가장 큰 차이점은 스프링 일처리 흐름에서의 위치이다.

     

    단순하게 말하면 클라이언트의 요청이 들어오면 Filter → Interceptor → AOP → Interceptor → Filter의 순서로 작동하지만,

     

    AOP의 조인 포인트 설정에 따라 인터셉터와 AOP의 순서는 바뀔 수 있다.

     

    Spring REST Docs

     

    Spring REST Docs는 작업의 통일성과 개발자의 협업에 있어 가장 중요한 API 문서를 자동으로 만들어주는 도구이다.

     

    다른 도구인 Swagger와는 다르게 테스트를 기반으로 한 문서 작성 도구라는 것이 특징이며, 이 점에서 TDD와 접점이 있다.

     

    여기서 테스트 기반이란 테스트에 통과한 기능만 API 문서에 등록된다는 뜻이며,

     

    핸들러 메서드에 대한 테스트 코드 작성 -> 테스트 실행 -> 성공 후 Snippet 파일 생성 -> Snippet을 모아 API 문서 생성

     

    의 과정을 거친다.

     

    여기서 핵심은 컨트롤러 클래스의 슬라이스 테스트가 다른 계층의 코드를 호출하지 않는 것인데,

     

    이를 위해 @MockBean을 통해 모킹 객체를 주입하게 된다.

     

    반응형
    댓글
    공지사항
    최근에 올라온 글
    최근에 달린 댓글
    Total
    Today
    Yesterday
    링크
    «   2024/06   »
    1
    2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30
    글 보관함