본문 바로가기
반응형

Spring
반응형
8

[Test] MongoDB 단위 테스트(Unit Test) 작성해보기 Spring Boot 프레임워크에서 Test 파일을 작성하다보면 다음과 같은 어노테이션을 붙여서 작성하곤 한다. @SpringBootTest 하지만 해당 어노테이션은 프로젝트 내에서 선언하거나 사용하고 있는 Spring Context를 모두 IoC에 등록하기 때문에 비용 및 시간이 많이 소모 된다. 통합 테스트 시나리오에서는 적절할지 모르겠으나 Repository 또는 DB간 트랜잭션 단위 또는 서비스 레이어 내에서의 단위 테스트에는 적절하지 않다고 생각한다. 이에 이번에 Repository 테스트 즉 MongoDB 조회를 하는 단위테스트 작성 및 정리하고자 한다. 1. @SpringBootTest 사용하기 우선 SpringBootTest 어노테이션을 붙여 테스트 진행시 Spring Context를 전부.. 2022. 6. 6.
[Spring] SpringBoot + WebFlux + Kotlin + ReactiveMongo 프로젝트 생성 실무 개발 및 서비스를 제공함에 있어 서버에 많은 요청이 있을 경우 Tread Pool 과 Timeout 등 Spring Web의 설정을 각 상황마다 수정하곤 하였다. 이에 Spring 5부터 등장한 Reactvie 스타일 모듈인 Webflux에 대해 관심이 생기기 시작하였고 간단한 Sample Case 맛보기 정도로 진행해보려한다. 앞으로 이 토이 프로젝트에 관심 있는 여러가지 모듈 및 프로토콜 들을 더해 갈 예정이다. Project SDK로는 amazon에서 제공하는 corretto-11을 사용하였다. corretto는 OpenJDK로 Java SE 표준과 호환된다. 또한 Dependencies는 다음과 같이 설정하였다. Webflux를 MVC 모듈로 비교하자면 MVC : Controller - Se.. 2022. 5. 1.
[Kotlin] Kotlin 기초 -01 1. 변수 선언 : var , val - var : 선언 후 수정 가능 - val: 선언 후 수정 불가능 (Java에서 final과 같은 역할을 한다.) 또한 변수타입을 지정 할 수 있다. // null인 값으로 선언 var c: Int? = null var intValue: Int = 1234// Int var LongValue: Long = 1234L// Long var intValueByHex: Int = 0x1af // 16진수 //UTF-16 BE 인코딩 관리하므로 한글자당 2bytes var charValue: Char = 'a'// char var booleanExp: Boolean = true// Boolean var introduceStr: String = "블로그에 오신 여러분 환영합니.. 2022. 4. 24.
[JWT] Spring Boot 환경에서 JWT(Json Web Token)생성 하기 첫번째의 JWT는 JWT에 대한 간단한 설명을 정리했고 2번째는 Spring Boot 환경에서 JWT를 직접 생성해보고자 한다. 사실 JWT 생성은 https://jwt.io/ JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io 해당 홈페이지에서 직접 PayLoad값을 넣어가며 생성할 수 있다. 하지만 실무 백엔드에서 JWT를 활용할 수 있는 간단한 JWT 생성코드를 정리해 보고자한다. 생성에는 jjwt 플러그인을 활용하였다. 1. build.gradle 설정에 io.jsonwebtoken:jjwt 플러그인을 추가한다. im.. 2021. 10. 26.
[Redis Session] Spring Boot에서 Redis Session 활용하기 - 04 2021.09.24 - [개발 지식/Spring Framework] - [Redis Session] Spring Boot에서 Redis Session 활용하기 - 03 [Redis Session] Spring Boot에서 Redis Session 활용하기 - 03 2021.09.23 - [개발 지식/Spring Framework] - [Redis Session] Spring Boot에서 Redis Session 활용하기 - 02 [Redis Session] Spring Boot에서 Redis Session 활용하기 - 02 2021.09.22 - [개발 지식/Spring Fra.. erjuer.tistory.com 이어서 이번 포스팅은 Session을 set하고 get하는 API를 하나 뚫어놓고 redi.. 2021. 9. 26.
[Redis Session] Spring Boot에서 Redis Session 활용하기 - 03 2021.09.23 - [개발 지식/Spring Framework] - [Redis Session] Spring Boot에서 Redis Session 활용하기 - 02 [Redis Session] Spring Boot에서 Redis Session 활용하기 - 02 2021.09.22 - [개발 지식/Spring Framework] - [Redis Session] Spring Boot에서 Redis Session 활용하기 - 01 [Redis Session] Spring Boot에서 Redis Session 활용하기 - 01 회사 프로젝트 내 맡은 파트에서 개.. erjuer.tistory.com 이어서 Spring Boot Framework에 설정은 다 완료했고 실제 redis를 조회하기 위한 redis.. 2021. 9. 24.
[Redis Session] Spring Boot에서 Redis Session 활용하기 - 02 2021.09.22 - [개발 지식/Spring Framework] - [Redis Session] Spring Boot에서 Redis Session 활용하기 - 01 [Redis Session] Spring Boot에서 Redis Session 활용하기 - 01 회사 프로젝트 내 맡은 파트에서 개발을 진행하던 중 로그인 사용자(고객센터 또는 대리점 혹은 대리점 직원)의 정보를 바탕으로 권한을 체크하는 로직이 필요하게 되었다. 전체적인 아키텍쳐 erjuer.tistory.com 이어서 우선 Spring session으로 redis를 활용하기 위해서 프로젝트의 pom.xml 또는 build.gradle에 의존성을 추가한다. // pom.xml org.springframework.session spring-.. 2021. 9. 23.
[Redis Session] Spring Boot에서 Redis Session 활용하기 - 01 회사 프로젝트 내 맡은 파트에서 개발을 진행하던 중 로그인 사용자(고객센터 또는 대리점 혹은 대리점 직원)의 정보를 바탕으로 권한을 체크하는 로직이 필요하게 되었다. 전체적인 아키텍쳐가 MSA로 구성되어 있다보니 각각의 서비스별로 데이터를 관리해야 했고 내가 맡은 서비스 내에서 매번 고객 데이터 조회시 로그인 유저의 권한을 바탕으로 필터링을 해야 했다. 유저의 데이터는 타 서비스의 API 호출을 통해 얻을 수 있었는데 매번 고객 데이터 조회 시 유저 데이터의 API 호출 하는 것은 그 호출 시간 또한 전체 고객 데이터 조회하는 시간에 추가 되어 아주 바람직하지 못한 방법이라 생각했다. 그래서 효과적인 방법을 고민하다가 유저 데이터값들을 session에 보관하고 필요할 때 꺼내쓰는 방법을 생각했다. pac.. 2021. 9. 22.