Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- java
- 년말
- jv
- #Gradle Multi project with IntelliJ
- 토익
- #단축키
- Spring Boot
- 프로젝트 시작
- #화면캡쳐 #macOS
- 평가인증
- Lambda
- 분석 작업
- WebJar
- bootstrap
- 방법론
- 감사
- 2010
- #정규표현식
- Microservices
- docker #docker tutorial
- #Microservice
Archives
- Today
- Total
사랑해 마니마니
스프링 부트 마이크로서비스 - 도메인 본문
요구사항
1) Multiplication: 곱셈을 하기 위해 필요한 Factor를 보관 2) User: 곱셈을 풀기로한 사용자 3) MultiplicationResultAttempt: Multiplication과 User에 대한 참조치를 가지고 있으며, 결과를 보관
immutable
Multiplication class는 Immutable임
Lombok 추가하기
buildig.gradle에 Lombok dependency 추가
compileOnly('org.projectlombok:lombok')
롬복은 Annotation 기반인데 Design time에도 동작해야 개발이 수월함
그래서 IDE도 설정을 해줘야 함.
1. Lombok plugin 설치: Preferences > Plugins > Browse repositories.. > Lombok 검색 > Install > restart
2. Design time에 롬복 동작 설정: Preferences > Compiler > Annotation Processors > Enable annotaion processing 체크
Multiplication.java에 Lombok 적용해서 간단하게 만들기
생성자 > @RequiredArgsConstruction
Getter > @Getter
ToString > @ToString
Equal, HashCode (이건 코딩 안했는 데.. 그래도 설정하기) > @EqualsAndHashCode
package microservices.book.multiplication.domain; import lombok.*; @Getter @ToString @EqualsAndHashCode @RequiredArgsConstructor public class Multiplication { // Both factors private final int factorA; //@RequiredArgsConstructor이 동작하기 위해서는 @NonNull or final 필드 private final int factorB; private int result; // Empty constructor for JSON (de)serialization Multiplication() { this(0, 0); } /* @RequiredArgsConstructor로 대체 public Multiplication(int factorA, int factorB) { this.factorA = factorA; this.factorB = factorB; this.result = factorA * factorB; } */ /* @Getter로 대체 public int getFactorA() { return factorA; } public int getFactorB() { return factorB; } public int getResult() { return result; } */ /* @ToString로 대체 @Override public String toString() { return "Multiplication{" + "factorA=" + factorA + ", factorB=" + factorB + ", result=" + result + '}'; } */ }
'spring boot in action' 카테고리의 다른 글
Business Logic Layer 추가하기 (0) | 2018.05.01 |
---|---|
도메인 디자인 하기 (0) | 2018.05.01 |
3Tier 로 고치기 (0) | 2018.04.21 |
Microservice @spring boot (0) | 2018.04.21 |
Bootstrap WebJar 사용하기 (0) | 2018.01.14 |
Comments