Javascript와 같은 동적 타이핑 언어와는 다르게

Java는 변수 선언 시 타입 명시해줘야 함

lombok에서 제공하는 키워드 val var

 

val

// final List<String> strs = new ArrayList<>();
val strs = new ArrayList<>();

 

var

val에서 final 제거된 것

독립적으로 실행 가능한 애플리케이션을 “서비스”라고 부른다.

1개 이상의 “서비스”와 “공유 인프라”가 모여 하나의 “시스템”을 구성한다.

 

주문요청 API

  1. 요청값 검증 (애플리케이션)
  2. 주문 요청 (애플리케이션)
    • 주문 데이터 생성 (도메인)
    • 주문 데이터 검증 (도메인)
    • 주문 데이터 저장 (도메인)
  3. 주문 결과 처리 (애플리케이션)
  4. 응답 (애플리케이션)

서비스에 대한 플로우나 흐름을 제어하면 애플리케이션 비즈니스
도메인 단위에서 생성/변경/소멸의 라이프 사이클을 가지면 도메인 비즈니스

 

'Web Programming > SPRINGBOOT' 카테고리의 다른 글

아키텍쳐  (0) 2023.08.18
[Kotlin] kapt(kotlin annotation processing tool)  (0) 2023.08.18
장애 탐지 및 알람  (0) 2022.11.24
Spring Elk 연동  (0) 2022.11.17
ELK 설치  (0) 2022.11.16

1. 모노리스

가장 단순한 단일 프로젝트

의존성 관리 힘듦

하나의 컴포넌트에 오류 발생시 관련 서비스들 모두 장애

 

2. 멀티 모듈을 layer 별로 구성(core, service, api 등) -> 모노리스(하나의 jvm)

패키지 의존성 관리에 신경써야함

도메인 간 분리가 어려울 수 있다. 해당 layer 의 도메인이 다른 layer 의 도메인과 어떻게 이어지는 지 모를 수 있다.

 

3. 멀티 모듈을 도메인 별로 구성하지만 -> 모노리스(하나의 jvm)

프로젝트가 서비스 단위로 나뉨

새로운 서비스 추가시 모듈 새로 생성해서 작업 분리된 환경에서 개발 가능

 

4. 멀티 모듈을 도메인 별로 구성 -> msa(여러 jvm)

서비스 간 의존도 가장 낮음

서비스 scale up 하기 용이함

서비스 간 통신에 신경써야함

 

 

 

'Web Programming > SPRINGBOOT' 카테고리의 다른 글

멀티 모듈  (0) 2023.08.18
[Kotlin] kapt(kotlin annotation processing tool)  (0) 2023.08.18
장애 탐지 및 알람  (0) 2022.11.24
Spring Elk 연동  (0) 2022.11.17
ELK 설치  (0) 2022.11.16

https://tech.kakaopay.com/post/mock-test-code/

Kotlin에서 Annotation처리를 위해서 KAPT(Kotlin Annotation Processing Tool)을 제공

Kotlin은 kotlinc로 컴파일되기 때문에 기존에 Java로 작성된 Annotation Process로는 Kotlin의 Annotation이 제대로 처리되지 않음

kapt 사용 시 호환성에 주의🚨

사용하는 library가 kapt를 지원하는지 확인해야함

 

plugins {
    val kotlinVersion = "1.8.21"
    kotlin("kapt") version kotlinVersion
}

val queryDslVersion = "5.0.0"

dependencies {
    //annotationProcessor -> kapt
    //annotationProcessor("com.querydsl:querydsl-apt:${queryDslVersion}:jakarta")
    kapt("com.querydsl:querydsl-apt:${queryDslVersion}:jpa")
}

 

'Web Programming > SPRINGBOOT' 카테고리의 다른 글

멀티 모듈  (0) 2023.08.18
아키텍쳐  (0) 2023.08.18
장애 탐지 및 알람  (0) 2022.11.24
Spring Elk 연동  (0) 2022.11.17
ELK 설치  (0) 2022.11.16

1. 빌드 새로하기

프로젝트 우클릭 -> build module ''

 

2. 캐시 삭제

상위 File 탭 -> Invalidate Cache ~ 클릭

 

3. .idea 파일 삭제
해당 프로젝트 루트에 숨겨진 파일로 `.idea` 파일이 존재한다.

해당 파일을 삭제하고, intellij를 다시 열면 새롭게 프로젝트를 불러온다.

도메인 모델 패턴의 장점

리포지토리 관계 없이 엔티티 관련 비즈니스 로직 생성

DB 이런거 상관 없이 단위 테스트 -> 그 메서드가 잘 작동하는지 테스트 필요

 

spring boot test는

여러 엔티티와 기능 통합적으로 잘 작동되는지를 위함

 

+ Recent posts