Java

· Java
AssertJ는 JUnit과 함께 사용해 검증문의 가독성을 확 높여주는 라이브러리 입니다.윗 쪽 보다 아래쪽 가독성이 더 좋습니다.Assertions.assertEquals(a+b, sum);assertThat(a+b).isEqualTo(sum);  메서드 목록 isEqualTo(A) A와 값이 같은지 검증isNotEqualTo(A) A와 값이 다른지 검증contains(A) A 값을 포함하는지 검증doesNotContain(A) A 값을 포함하는지 않는지 검증startsWith(A) 접두사가 A인지 검증endsWith(A) 접미사가 A인지 검증isEmpty() 비어있는 값인지 검증isNotEmpty() 비어있는 않은 값인지 검증isPositive() 양수인지 검증isNegative() 음수인지 검증is..
· Java
제어의 역전과 의존성 주입스프링은 모든 기능의 기반을 제어의 역전IoC와 의존성 주입DI에 두고 있습니다. Inversion of Control외부에서 관리하는 객체를 가져옴, 스프링 컨테이너가 객체를 관리, 제공하는 역활을 한다.public class A { b = new B();}//클래스 A 에서 new 키워드로 클래스 B 의 객체를 생성 Dependency Injection어떤 클래스가 다른 클래스에 의존한다.public class A{ @Autowired B b;}  빈과 스프링 컨테이너스프링 컨테이너: 빈을 생성하고 관리, 빈의 생명주기를 관리함빈: 스프링 컨테이너가 생성하고 관리하는 객체빈을 스프링 컨테이너에 등록하기 위해 XML 파일 설정 애너테이션 추가 등 여러가지 방법을 제공MyB..
· Java/JPA
public void setMember(Member member) { //기존 관계 제거 if (this.member != null) { this.member.getOrders().remove(this); } this.member = member; member.getOrders().add(this); }member과 order이 다대다 관계 인데 setMember시 이렇게 설정해서 편의성을 둔다 다대다의 경우 주인이 필요하고(mappedBy) set 시 다른 테이블에도 add를 통해서 설정이 필요하다public class Order { ... @OneToMany(mappedBy = "order") private ..
· Java/JPA
@Entity보통 기본값인 클래스 이름을 사용, 다른 패키지 이름이 같은 엔티티가 있으면 이름 지정기본 생성자 필수(파라미터 없는 public 또는 protected)final 클래스, enum, interface, inner 클래스에는 사용 x저장할 필드에 final 사용 x @Table엔티티와 매핑할 테이블 지정name: 매핑할 테이블 이름catalog: catalog 기능이 있는 db에서 catalog 매핑schema: shcema 기능이 있는 db에서 schema 매핑uniqueConstraints(DDL): DDL 생성 시 유니크 제약조건
· Java/JPA
JPA update 시 스냅샷을 찍어서 lazy update를 한다(커밋 시에 업데이트) 내부적으로 sql을 모든 필드를에 대해서 업데이트를 진행하게 된다장점으로 수정 쿼리가 항상 같다. 동일한 쿼리를 보내면 db는 이전에 파싱 된 쿼리를 재사용 가능하다단점으로 데이터 전송량이 증가한다=> 보안하기 위해 동적으로 UPDATE SQL을 생성하는 전략인데 하이버네이트 확장 기능을 사용하면 된다@org.hibernate.annotations.DynamicUpdate
두잇 두두
'Java' 카테고리의 글 목록