https://github.com/JunHoPark93/google-java-styleguideλ₯Ό μ°Έκ³
ν΄λμ€ λ΄λΆμμλ νμ ν μ€μ© λκ³ μμ
λͺ¨λ μ€ λ°κΏμ ν μ€μ©λ§
μμ
CONSTANT_CASE
public λ©μλμ private λ©μλμ μμ
public
κ³Ό private
μ κ°κ° μ, μλλ‘ λΆλ¦¬μμ‘΄μ± μ£Όμ
λ°©μ
: @RequiredArgsConstructor
ν΄λμ€μ μ μ©νλ μ΄λ Έν μ΄μ μμ
μ£Όμ μ΄λ Έν μ΄μ μ ν΄λμ€μ κ°κΉκ² μ€μ
μμ
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Entity
public class User {
...
}
@RequiredArgsConstructor
@RequestMapping("/api/users")
@RestController
public class UserController {
...
}
μν°ν° ν΄λμ€λ΄ νλ
public class Review {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private double grade;
private String content;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id")
private User user;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "store_id")
private Store store;
...
}
λ§€μ§ Number, Stringμ μμλ‘ μ μΈ
μ£Όμ ν¬λ§·
a. b. c.
/*
* This is // And so /* Or you can
* okay. // is this. * even do this. */
*/
JPA μμ±μ
protected
)MappedBy
) λ±μ μ μΈ)컨νΈλ‘€λ¬ μλ΅ νμ
: ResponseEntity
νλΌλ―Έν° μΈμκ° λ§μ μ, μ€ λ°κΏ ν¬λ§·
// νλΌλ―Έν° μΈμ 2κ°κΉμ§ (2κ°μ¬λ κΈΈμ΄κ° κΈΈλ€λ©΄ μ€ λ°κΏ κ°λ₯)
public void m(int a, int b) {
}
// νλΌλ―Έν° μΈμ 3κ°λΆν°
private void m(
int a,
int b,
int c
) {
}
λ©μλ νΈμΆ μ, μ€ λ°κΏ ν¬λ§·
return reviewRepository.save(
ReviewMapper.toEntity(
user,
store,
reviewSaveDto
)
).getId();
DTO μ΄λ¦ μ€μ λ°©μ
Dto
λΆμ΄κΈ°
For
λ₯Ό λΆμ¬μ ꡬλ³
컨νΈλ‘€λ¬, μλΉμ€ λ©μλλͺ μ€μ λ°©μ
컨νΈλ‘€λ¬ | μλΉμ€ | |
---|---|---|
μμ± | create{$entityName} | save |
λ¨κ±΄ μ‘°ν | show{$entityName}By{$condition} | |
ex) showUserByUserId | findBy{$condition} | |
ex) findByUserId | ||
μ λ°μ΄νΈ | update | update |
μμ | deleteBy{$condition} | |
ex) deleteById | deleteBy{$condition} | |
ex) deleteById |
컨νΈλ‘€λ¬ κ²½λ‘λ³μ, λ§€κ°λ³μμ μ¬μ©λλ id μ΄λ¦ μ€μ λ°©μ
api λ°ν νμ μ€ν
controller | service | |
---|---|---|
μμ± | ResponseEntity | Long id |
λ¨κ±΄ μ‘°ν | ResponseEntity | DTO |
μ λ°μ΄νΈ | ResponseEntity | void |
μμ | ResponseEntity | void |