Spring Boot의 @Async와 SpringSecurityContext

로그성 데이터 저장 시 사용할 이벤트핸들러를@EventListener에 @Async 어노테이션 추가하여 비동기로 구현하려고 하니 Auditor가 null로 들어감(SecurityContext의 인증정보에서 유저이름을 가져와 Auditor로 지정하는 구조)Spring S

2023년 7월 13일
·
0개의 댓글
·

[Spring] Spring Boot 3.X 와 Java 버전

개인 공부를 하면서 Spring Boot 프로젝트를 새로 생성할 일이 생겨 생성할 때 익숙하게 선택하던 Java 11로 생성했는데 실행이 안됐다. 결론 - Spring Boot 3.0 부터는 Java 17 이상을 사용해야 한다. 오류 해결 Java 17 버전 이상

2023년 1월 31일
·
0개의 댓글
·

[Spring] WebSecurityConfigurerAdapter Deprecated

최근 새 스프링 부트 프로젝트를 생성하여 기존과 같이 spring security config를 작성하였는데 WebSecurityConfigurerAdapter가 Deprecated 되었다는 경고메시지를 보고 이를 해결해봤다. 공식 문서를 확인해보니 HttpSecurity는 SecurityFilterChain를, WebSecurity는 WebSecurit...

2022년 9월 14일
·
0개의 댓글
·

[Spring] @Profile과 application.yml를 이용한 테스트환경 분리

회사 프로젝트가 로컬에서는 외부 연동이 되지 않아 통합 테스트 시마다 외부연동 부분 제거를 위해 소스 수정을 했었다. 이러한 불편함을 개선하기 위해 @Profile 어노테이션과 application.yml을 통해 각각의 환경에서 다른 Bean을 사용하도록 설정해보았다.

2022년 7월 10일
·
0개의 댓글
·

[Spring] @Transactional - rollback

@Transactional이 언제 롤백하는지와 rollbackFor에 대해 알아보았다.회사 프로젝트 진행를 진행하면서 한 서비스에서 테이블에 데이터 저장 후 연동을 하게되는데 연동 처리 결과가 성공코드일때만 커밋 되고 그 외 모든 경우(연동 실패, 연동결과 실패코드 등

2022년 7월 9일
·
0개의 댓글
·

[DB] DML 트리거 생성하기

트리거(Trigger)는 데이터베이스 이벤트에 반응하여 실행되는 프로그램 단위이다.이 글은 그 중 DML 문이 수행될 때 자동으로 동작하는 DML 트리거의 사용법에 대해 정리한 글이다.tbl_details 에 INSERT 이벤트가 발생한 후에 tbl_details 의

2022년 6월 30일
·
0개의 댓글
·

[DB] MySQL에서 오라클의 nextval 사용하기

MySQL 에는 시퀀스가 없어 Oracle의 nextval, currval 을 사용할 수 없다. 그렇지만 아래와 같이 프로시저와 함수를 통해 시퀀스 기능을 사용할 수 있다. 1. 시퀀스 테이블 2. 시퀀스 생성 프로시저 3. nextval 함수 4. 시퀀스 생성

2022년 6월 19일
·
0개의 댓글
·

[Spring Security] Multiple UserDetailsService

개인 프로젝트를 진행하면서 DB 설계시 일반사용자(Member)와 서비스 제공자(Helper)에 필요한 필드가 각각 달라 따로 분리하여 설계했는데 Spring Security 를 적용하고 권한 인증시 문제가 발생하였다. 하나의 스프링 부트 애플리케이션에서 여러개의 Us

2022년 6월 7일
·
0개의 댓글
·

[JPA] getById() 와 findById()

토이프로젝트를 만들면서 연관관계에 있는 Entity 저장 시 고려한 getById() 와 findById()에 대해 정리해봤다.ERD 를 보면 Pay Entity 저장 시 reservation_id 만 넣어주면 될 것 같지만 ORM에선 Reservation Entity

2022년 6월 6일
·
0개의 댓글
·