μ€νλ§ κ³΅λΆλ₯Ό νλ€λ³΄λ©΄ μ΄λ°λΆν° μ λͺ©μ λ¬Έμ₯μ΄ μ λ§μ λ§ λ§μ΄ λμ€λλ°, μ λ μ΄ λ¬Έμ₯μ΄ μ ν μ΄ν΄κ° λμ§ μμμ΅λλ€.
GPTμ μ€λ ν λ‘ λμ μ΄ν΄νκ³ λ³΄λ, μ λ§ μ λ§ κ°λ¨ν λ΄μ©μ΄μμ΅λλ€.
κ°μ₯ μλ λ§€κ°λ³μλ₯Ό νμ©ν λΉμ λ₯Ό 보면 λ°λ‘ μλΏμ κ²μ΄λΌκ³ μκ°ν΄μ!
π μμ‘΄μ± μ£Όμ μ΄λ?
νμν κ±Έ μ§μ λ§λ€μ§ μκ³ , μΈλΆμμ λμ λ£λκ²,
μ¦, κ°μ²΄κ° νμλ‘ νλ μ΄λ€ κ²(λ€λ₯Έ κ°μ²΄)μ μΈλΆμμ μ λ¬ λ°λ κ²μ
λλ€.
π μμ±μλ₯Ό ν΅ν΄ μμ‘΄μ±μ μ£Όμ νλ€λ κ²
λ§ κ·Έλλ‘ 'μμ±μλ₯Ό ν΅ν΄μ μμ‘΄μ±μ μ£Όμ νλ λ°©λ²'μ λλ€.
private MyRepository myRepository = new MyRepository();
μ΄λ κ² newλ‘ ν΄λμ€ λ΄μ κ°μ²΄λ₯Ό μμ±νλ κ²μ΄ μλλΌ,
public class MyService {
private final MyRepository myRepository;
public MyService(MyRepository myRepository) {
this.myRepository = myRepository;
}
};
μ΄λ κ² μμ±μλ‘ μΈλΆμμ κ°μ²΄λ₯Ό λ°μμ€λ κ²μ λλ€.
π‘ λ§€κ°λ³μλ₯Ό νμ©ν λΉμ
μ λ μ΄ ν¨μμ λΉμ λ‘ μ’ λ λͺ ννκ² μ΄ν΄νμ΅λλ€.
aμ bλ₯Ό ν΄λμ€λΌκ³ μκ°νλ©΄ μ΄ν΄νκΈ° μ¬μΈ κ² κ°μμ.
// μ§μ newλ‘ κ°μ²΄ λ§λλ λ°©μ
int result() {
int a = 3;
int b = 5;
return a + b;
}
// μμ±μλ‘ κ°μ²΄λ₯Ό μ£Όμ
νλ λ°©μ
int result(int a, int b) {
return a + b;
}
μ΄ μ°¨μ΄λ₯Ό μ΄ν΄νκ³ λ€μ λ³Έλ¬Έμ μ²μλΆν° μ½μΌλ©΄ μλ―Έκ° ν¨μ¬ μλΏμ κ²μ λλ€.
π @RequiredArgsConstructor : μμ±μ μ£Όμ μ΄λ Έν μ΄μ
@RequiredArgsConstructor
public class UserService {
private final UserRepository userRepository;
// π μ΄κ±Έ μλμΌλ‘ λ§λ€μ΄μ€!
// public UserService(UserRepository userRepository) {
// this.userRepository = userRepository;
// }
}
finalμ΄ λΆμ νλλ₯Ό κΈ°μ€μΌλ‘ νμν μμ±μλ₯Ό μλμΌλ‘ λ§λ€μ΄μ£Όλ μ΄λ Έν μ΄μ μ λλ€.
ν΄λΉ μ΄λ Έν μ΄μ μ μ¬μ©νλ©° μ£Όμμ²λ¦¬λ λΆλΆμ μμ±νμ§ μκ³ κ°νΈνκ² μμ±μ μ£Όμ μ΄ λ©λλ€.
'π»π > Spring & SpringBoot' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
JpaRepository νλλͺ μΌλ‘ 쿼리 λ©μλ λ§λ€κΈ° (3) | 2025.05.10 |
---|---|
JPA μν°ν° μ΄λ Έν μ΄μ μ 리 (@Entity, @MappedSuperclass, @Inheritance μμ λ§€ν μ λ΅) (1) | 2025.04.16 |