개인 프로젝트를 진행하면서 DB 설계시 일반사용자(Member)와 서비스 제공자(Helper)에 필요한 필드가 각각 달라 따로 분리하여 설계했는데 Spring Security 를 적용하고 권한 인증시 문제가 발생하였다. 하나의 스프링 부트 애플리케이션에서 여러개의 Us
@Transactional이 언제 롤백하는지와 rollbackFor에 대해 알아보았다.회사 프로젝트 진행를 진행하면서 한 서비스에서 테이블에 데이터 저장 후 연동을 하게되는데 연동 처리 결과가 성공코드일때만 커밋 되고 그 외 모든 경우(연동 실패, 연동결과 실패코드 등
회사 프로젝트가 로컬에서는 외부 연동이 되지 않아 통합 테스트 시마다 외부연동 부분 제거를 위해 소스 수정을 했었다. 이러한 불편함을 개선하기 위해 @Profile 어노테이션과 application.yml을 통해 각각의 환경에서 다른 Bean을 사용하도록 설정해보았다.
최근 새 스프링 부트 프로젝트를 생성하여 기존과 같이 spring security config를 작성하였는데 WebSecurityConfigurerAdapter가 Deprecated 되었다는 경고메시지를 보고 이를 해결해봤다. 공식 문서를 확인해보니 HttpSecurity는 SecurityFilterChain를, WebSecurity는 WebSecurit...
개인 공부를 하면서 Spring Boot 프로젝트를 새로 생성할 일이 생겨 생성할 때 익숙하게 선택하던 Java 11로 생성했는데 실행이 안됐다. 결론 - Spring Boot 3.0 부터는 Java 17 이상을 사용해야 한다. 오류 해결 Java 17 버전 이상
로그성 데이터 저장 시 사용할 이벤트핸들러를@EventListener에 @Async 어노테이션 추가하여 비동기로 구현하려고 하니 Auditor가 null로 들어감(SecurityContext의 인증정보에서 유저이름을 가져와 Auditor로 지정하는 구조)Spring S