인프런 커뮤니티 질문&답변

최재영님의 프로필 이미지
최재영

작성한 질문수

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션

Jwt 토큰 생성을 위한 세팅

JwtVO 를 인터페이스로 만든 이유

해결된 질문

작성

·

285

0

JwtVo 를 왜 인터페이스로 생성하신지 궁금합니다 !

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

JwtVO를 인터페이스로 만드는 것은 다양한 구현체를 이용하여 JwtVO의 사용성을 높이기 위함일 수 있습니다. 인터페이스는 특정 기능을 구현하기 위한 메소드의 명세만을 제공하므로, 실제 구현은 인터페이스를 구현하는 클래스에서 담당하게 됩니다. 이렇게 하면 어떤 특정 구현에 종속되지 않고, 다양한 상황에 맞는 다른 구현체를 사용할 수 있기 때문에, 유연성을 갖출 수 있습니다.

추가적으로, JwtVO 인터페이스를 사용함으로써 애플리케이션의 보안 부분에서 테스트를 좀 더 쉽게 할 수 있는 이점도 생길 수 있습니다. 예를 들어, Spring Security를 이용한 테스트에서는 @WithMockUser 같은 어노테이션을 활용하여 특정 권한을 가진 사용자로 테스트를 진행할 수 있으며, 인터페이스를 통해 다양한 사용자 상황을 모의할 수 있습니다.

스프링 시큐리티와 관련된 추가 정보는 Spring Security project page를 참고하시면 도움이 되겠습니다. 그리고 스프링 부트의 테스팅과 관련하여 더 알아보시려면 Spring Boot Reference Documentation의 Testing 섹션을 확인해보시기 바랍니다.

감사합니다.

최재영님의 프로필 이미지
최재영

작성한 질문수

질문하기