전체 글
-
[Spring] javax.persistence.Id와 org.springframework.data.annotation.Id의 차이개발 지식/Spring 2024. 2. 13. 10:55
javax.persistence.Id는 관계형 DB에서 사용하고 org.springframework.data.annotation.Id는 JPA에 의해 지원되지 않는 NoSQL이나 프레임워크에서 사용된다. - redis의 경우 키 - 값의 형태로 데이터를 저장하는 NoSQL이기 때문에 org.springframework.data.annotation.Id 해당 어노테이션을 사용해야 한다. 예제 코드 - 또한 redis Repository의 경우 JpaRepository가 아닌 CrudRepository를 상속해야 한다. 예제 코드
-
[git] Personal access token 생성하는 방법개발 지식/GIT 2024. 1. 25. 12:57
- 로컬에서 특정 private Repository에 push를 하려고 할 때 권한이 없는 경우 아이디와 비밀번호를 요구하는 경우가 있는데 이 때 깃허브 아이디의 비밀번호를 입력하게 되면 해당 방식은 더 이상 사용되지 않아 인증에 실패하게 된다. 이 때 비밀번호 대신 해당 토큰을 입력하면 성공적으로 push가 된다. 생성 방법 Settings - Developer Settings - Personal access tokens - Tokens - Generate new token 버튼 클릭으로 생성이 가능하다. - private repository에 대한 권한만 부여하고 싶을 경우 맨 위의 repo를 체크하면 된다.
-
[Test] Interceptor 적용 후 기존 컨트롤러 테스트 깨짐개발 지식/Test 2024. 1. 10. 11:34
에러 로그 Parameter 0 of constructor in com.example.workingbook.interceptor.WebMvcConfig required a bean of type 'com.example.workingbook.device.repository.DeviceRepository' that could not be found. - 로그를 봤을 때 해당 인터셉터를 등록하는 설정 파일에서 DeviceRepository를 사용하고 있는데 컨트롤러 테스트에서 사용하는 @WebMvcTest에는 Repository 계층의 빈들은 등록하지 않기 때문에 발생한 문제이다. 해결 방법 1. 해당 인터셉터를 MockBean으로 대체 - 아예 인터셉터가 동작하지 않게 적용 - 이렇게 하는 경우 원래의 인터..
-
프로젝트에 Interceptor 적용하기사이드 프로젝트(working-book) 2024. 1. 9. 17:59
Interceptor란? - Spring이 제공하는 기술로써, 디스패처 서블릿이 컨트롤러를 호출하기 전과 후에 요청과 응답을 참조하거나 가공할 수 있는 기능을 제공한다. 디스패처 서블릿은 핸들러 매핑을 통해 적절한 컨트롤러를 찾도록 요청하는데, 그 결과로 실행 체인(HandlerExecutionChain)을돌려준다. 그래서 이 실행 체인은 1개 이상의 인터셉터가 등록되어 있다면 순차적으로 인터셉터들을 거쳐 컨트롤러가 실행되도록하고, 인터셉터가 없다면 바로 컨트롤러를 실행한다. 적용 방법 1. HandlerInterceptor를 구현한다. 2. WebMvcConfigurer를 구현한 설정 클래스를 생성한 뒤 addInterceptors 메서드를 오버라이딩하여 만든 인터셉터를 추가해준다. 참고 자료 ht..
-
[Spring] 인텔리제이에서 active profile 설정하는법개발 지식/Spring 2024. 1. 8. 17:29
1. Edit Configurations 을 누른다. 2. Copy Configuration 버튼을 눌러 기존의 Application 실행을 복사한 뒤 Active profiles에 원하는 이름을 넣으면 된다. 참고 자료 https://lucas-owner.tistory.com/22 [IntelliJ] active profile 설정 하기 (Ultimate & Community) IntelliJ (Ultimate, Community)에서 active profile 설정 하는 방법 IntelliJ IDE를 사용해서 Spring Boot 환경에서 개발하다 보면 profile 별로 실행을 해야 할 때가 존재한다. profile 별로 실행 할 때 마다, application.ym lucas-owner.tisto..