# 라이프사이클 콜백어노테이션실행 시점@PrePersist엔티티가 저장되기 직전 (INSERT SQL 전에 실행).@PostPersist엔티티가 저장된 직후 (INSERT SQL 실행 후 실행).@PreUpdate엔티티가 업데이트되기 직전 (UPDATE SQL 전에 실행).@PostUpdate엔티티가 업데이트된 직후 (UPDATE SQL 실행 후 실행).@PreRemove엔티티가 삭제되기 직전 (DELETE SQL 전에 실행).@PostRemove엔티티가 삭제된 직후 (DELETE SQL 실행 후 실행).@PostLoad엔티티가 DB에서 조회된 직후. # 예제 :@Entitypublic class User { @Id @GeneratedValue(strategy = GenerationType.I..
JWT와 OAuth 2.0을 이용한 sso와 비슷한 통합 인증 처리 방식을 구현하고 나서 정리하기 위해서 작성 되었다. 여러 방식 중에 두가지 방식을 보면 1. A 시스템에서 B 시스템의 api를 사용하고 싶을때 (Header 기반 인증 방식)authentication의 header에 담아서 이용 .헤더를 통해 JWT를 전달하는 것은 API 호출과 같은 서버 간 통신에서 주로 사용됨. (주로 사용하는 방식) ex) # A 시스템 (http://localhost:8081)@PostMapping("/authenticate")public ResponseEntity authenticate(@RequestParam String username) { // JWT 생성 String jwtToken =..
팀원 분이 저의 소스에 문제점을 지적해주었다. 그래서 그것을 앞으로 더이상 이상하게 사용하지 않고, 잘 쓰게끔 머릿 속에 저장 할 겸 이렇게 작성하게 되었다. # 문제점 : @RequiredArgsConstructor @RequiredArgsConstructor(생성자 주입)의 어노테이션과 나는 소스 안에서 @Autowired ResourceLoader resourceLoader; @Autowired(필드주입)의 어노테이션을 같이 사용하고 있었다. 이것은 한마디로 같은 역할을 하는데, 두번 중복으로 쓰고 있다는 이야기다. 그래서 @RequiredArgsConstructor을 사용하면, @Autowired 필드 주입은 사용할 필요 없고 그냥 final로만 적어주면 된다. # 해결 : @RequiredArg..