목록강의수강 (42)
미소를뿌리는감자의 코딩
1. 정의 @Transactional 어노테이션은 특정 메소드나 클래스에 적용된다. 해당 범위 내에서 실행되는 코드가 하나의 트랜잭션으로 처리되어야 함을 스프링에게 알려준다. 작업을 하나의 작업 단위로 묶어서, 모두 성공하거나 실패하면 모두 취소되도록 보장하는 것을 말한다. 2. 특징 데이터 일관성 보장 : 모두 성공적으로 수행되어야 할 때 사용한다. 만약 작업 중 하나라도 실패한다면, 이전 상태로 롤백하여 데이터의 일관성을 유지할 수 있다. 읽기 일관성 유지 : 일관된 데이터를 읽을 수 있도록 보장. -> dirty read를 방지할 수 있다. 자동 롤백 처리 : 자동으로 롤백을 수행. 즉, @Transactional은 데이버 변경 작업을 하나의 논리적은 작업 단위로 묶어서 처리해야할 때, 사용하면 좋..
1) GetMapping 서버에서 resource를 조회하기 위해 사용. 데이터를 가져오는 데 사용되고, 서버의 상태를 변경하지 않아야 한다. 대부분 body나 payload를 담지 않음. 2) PostMapping resource를 생성하기 위해 사용. 새 사용자를 등록. 게시글 등록과 같은 경우에 사용. 3) PutMapping 주로 기존 resource를 update 하는 데에 사용. -> 기존 자원의 전체 업데이트에 사용 (덮어쓰기 느낌) 4) DeleteMapping 서버에서 resource를 삭제하기 위해 사용. 5) patch 서버에 있는 자원의 일부를 업데이트하기 위해 사용. -> 자원의 일부만 수정할 때 사용. * @PathVariable :URI 경로의 변수를 메소드 파라미터로 mapp..

갑자기 intellij가 unexpectedly 꺼지더니 모든 파일이 자바 찻잔...? 모양으로 바뀌었었다. 이를 해결하기 위해 쉬운 방법이 있다. 이걸 누르고, Reload Gradle Project를 하면 해결이 된다. 휴..
@NoArgsConstructor 명시적으로 생성자를 선언하지 않으면 기본 생성자를 자동으로 추가한다. 하지만 하나 이상의 생성자를 명시적으로 선언한 경우 기본 생성자는 자동으로 생성되지 않음. 이때, 해당 annotation 사용 -> 기본 생성자 명시적으로 생성해준다. + JPA를 사용할 때, entity class는 기본 생성자를 가져야 함. *JPA: ORM의 일종으로 DB를 객체 지향적으로 사용할 수 있게 해줌. *entity class: DB의 table에 해당하는 data. table의 column에 해당하는 데이터들을 가지고 있음. JPA의 entity가 기본 생성자를 가져야 하는 이유: 이에 대해 알아보기 위해 우선 Reflection에 대해서 먼저 이해해 보자. Reflection: 프..