위와 같은 코드는 b를 A에서 직접 생성한다. 제어의 역전은 다른 객체를 직접 생성하거나 제어하는 것이 아닌 외부에서 관리하는 객체를 가져와 사용하는 것을 말한다. @Autowired애너테이션은 스프링 컨테이너에서 빈을 주입한다. 객체의 주입과 관리는 스프링 ....
application/x-www-form-urlencoded 타입 헤더에 dto로 받을 때 (1)은 못 들어오고 (2)는 잡힌다. (Dto는 setter있어야 잡힌다.) dto아니면 (1)도 잡고 (2)도 잡는다.
ExceptionHandler가 속해있는 controller에서 Handler에 명시된 예외 발생시 동작한다.ResponseEntity는 response의 header, body, status를 설정할 수 있다.전역 controller에서 예외처리를 하고 싶다면 @Co
Spring의 life cycle이다.Spring Security도 많은 filter로 구성 돼있다.Security의 목적은 controller에서 인증/인가를 분리하고 filter단에서 손쉽게 처리하기 위함이다.인증 - 해당 유저가 실제 유저인지 인증인가 - 해당 유
boolean @getter 는 isAdmin() 으로 작성된다. boolean값은 is로 시작하는게 보통이다. ex) OptionalType.isEmpty()/isPresent() 기본 DTO는 null값이 할당될 수 있었다 ....
다음과 같은 ERD가 있다.등록된 book을 findAll한다고 했을 때 문제가 발생한다.Book entity에 @ToString 을 적용했다면 println에서 자동으로 toString이 동작한다. book -> bookStore -> book -> bookStor
영속성 컨텍스트 : Entity 객체를 효율적으로 쉽게 관리하기 위해 만들어진 공간이다. 객체의 생명(유지되는 시간)이나 공간(위치)을 유지하고 이동한다.영속성 컨텍스트에 접근하고 조작하기 위해선 EntityManager가 필요하고 EntityManagerFactory
앞의 포스팅에서 jpa를 다루던 것은 hibernate-core이다. 이번엔 spring boot에서 jpa를 어떻게 다루는지 살펴보자. data-jpa 를 사용한다. java에선 xml파일로 설정하고 EntityManager, EntityManagerFactor
외래 키의 주인은 @JoinColumn(name = 컬럼명)를 사용하고 (양방향이라면) 반대편은 (mappedBy = 외래 키의 주인에서 '나'를 가르키는 필드명)을 사용한다. 외래키의 주인이 아닌 쪽에서 연관 관계 객채를 참조하고 싶다면 양방향을 설정하고 ...
EAGER는 첫 select와 동시에 join으로 참조 항목을 가져온다. LAZY는 첫 select에서 join을 하지않고 참조가 필요할 때 추가로 select를 요청하고 가져온다. ManyToOne의 default FetchType은 EAGER ....