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..
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 ..
@Entity보통 기본값인 클래스 이름을 사용, 다른 패키지 이름이 같은 엔티티가 있으면 이름 지정기본 생성자 필수(파라미터 없는 public 또는 protected)final 클래스, enum, interface, inner 클래스에는 사용 x저장할 필드에 final 사용 x @Table엔티티와 매핑할 테이블 지정name: 매핑할 테이블 이름catalog: catalog 기능이 있는 db에서 catalog 매핑schema: shcema 기능이 있는 db에서 schema 매핑uniqueConstraints(DDL): DDL 생성 시 유니크 제약조건