본문 바로가기

강의 정리28

[Kotlin] 생성자 호출 순서 스포 주 생성자 (Primary Constructor) 호출 Init 블록 호출 보조 생성자 (Secondary Constructor) 호출 Kotlin 의 주 생성자 (Primary Constructor) 클래스 명 옆에 있는 옆에 괄호로 쌓여져있는 변수들을 주 생성자라고 한다. 클래스는 오직 하나의 주 생성자를 가질 수 있다. 자바로 디컴파일되면 생성자가 생성되는 모습이다. // kotlin class PrimaryClass(val a1: Int, val a2: Int) // Decompiled Java public final class PrimaryClass { private final int a1; private final int a2; // getters.. public PrimaryClass(.. 2021. 12. 5.
[Kotlin] If 와 When 은 Expression 이다. IF 자바의 IF 문은 Statement (문) 이고 코틀린의 IF 문은 Expression (식) 이다. Expression VS Statement Expression => 값을 생성한다. Statement => 값을 생성하지 않는다. 코틀린에서의 if 는 아래처럼 값을 생성하여 할당할 수 있다. -> Expression val kotlinIf = if(true) 1 else 2 자바에서의 if 는 값을 생성하여 할당할 수는 없다. Expression 과는 다르게 내가 직접 return 을 명시해줘야 한다. public static void main(String[] args) { int a = statement(true); } private static int statement(boolean bool).. 2021. 12. 5.
3. 확장 기능 1. 사용자 정의 Repository 구현 Spring Data Jpa 는 인터페이스만 정의 구현체는 스프링이 자동생성해준다. 인터페이스의 메소드를 직접 구현하고싶다면? 인터페이스를 한개 생성한다. 인터페이스 내에 구현하고자 할 메소드를 정의한다. 1번에서 생성한 인터페이스에 대한 구현체를 생성한다. 구현체는 공통인터페이스 + Impl 로 이름을 맞춰줘야 한다. 공통 인터페이스에 구현체를 상속받는다. public interface MemberRepository extends JpaRepository, MemberRepositoryCustom(2번의 구현체) 2. Auditing 순수 JPA 를 사용한 Auditing 상속을 통하여 사용한다. @PrePersist / @PostPersist / @PreUp.. 2021. 1. 14.
2. 쿼리 메소드 기능 쿼리 메소드 기능 메소드 이름으로 쿼리 생성 메소드 이름으로 JPA Named Query 호출 '@Query' 어노테이션을 사용해서 리포지토리 인터페이스에 쿼리 직접 정의 1. 메소드 이름으로 쿼리 생성하는 기능 docs.spring.io/spring-data/jpa/docs/2.4.2/reference/html/#jpa.query-methods.query-creation 간단한 쿼리를 사용할 때 자주 사용한다. 조회 : find...By COUNT : count...By EXISTS : exists...By 삭제 : delete...By DISTINCT : findDistinct LIMIT : findFirst3, findFirst, findTop 2. JPA NamedQuery query 문을 잘못 .. 2021. 1. 10.