πŸ“Œ 좔상 ν΄λž˜μŠ€μ™€ κ΅¬ν˜„μ²΄ 클래슀 뢄리 이유

객체 κ°„μ˜ 결합을 λŠμŠ¨ν•˜κ²Œ ν•˜κΈ° μœ„ν•¨

μ»¨νŠΈλ‘€λŸ¬κ°€ μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 μΈν„°νŽ˜μ΄μŠ€ κ΅¬ν˜„μ²΄μ™€ μ—°κ²°ν•˜λ©΄ 이후 λ‹€λ₯Έ μΈν„°νŽ˜μ΄μŠ€ κ΅¬ν˜„μ²΄λ‘œ λ³€κ²½μ΄λ‚˜ ν™•μž₯이 μš©μ΄ν•˜κΈ° λ•Œλ¬Έ.

πŸ“Œ 객체 μ£Όμž…μ„ 좔상 클래슀둜 λ°›λŠ” 점

객체 μ£Όμž…μ΄λ‚˜ 생성을 좔상 클래슀둜 λ°›μ§€ μ•ŠλŠ”λ‹€λ©΄ μ‹œμŠ€ν…œμ΄ μ „μ²΄μ μœΌλ‘œ λΆˆμ•ˆμ •ν•΄μ§.

μ˜ˆμ‹œ 상황

spring.aop.proxy-target-class=false 와 같은 μ½”λ“œλ₯Ό μž‘μ„±ν–ˆλ‹€κ³  κ°€μ •

μœ„μ˜ μ½”λ“œλŠ” μΈν„°νŽ˜μ΄μŠ€ 기반의 ν”„λ‘μ‹œλ₯Ό λ§Œλ“ λ‹€λŠ” 뜻

ν”„λ‘μ‹œλ₯Ό λ§Œλ“€ λ•Œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό 상속받은 ν”„λ‘μ‹œλ₯Ό λ§Œλ“€κΈ° λ•Œλ¬Έμ— ProxyMyServiceλŠ” MyService νƒ€μž…μ΄μ§€λ§Œ MyServiceImpl의 νƒ€μž…μ€ μ•„λ‹ˆκ²Œ 됨

λ”°λΌμ„œ 이와 같은 μ‘°κ±΄μ—μ„œ 객체 μ£Όμž…μ„ κ΅¬ν˜„μ²΄λ‘œ λ°›λŠ”λ‹€λ©΄ μ—λŸ¬κ°€ λ°œμƒν•¨

dfff.PNG

spring.aop.proxy-target-class=falseκ³Ό 같은 상황을 κ°€μ •ν–ˆμ§€λ§Œ 이와같은 상황이 λ°œμƒν•˜μ§€ μ•Šμ„κ±°λΌλŠ” 확신이 μ—†μœΌλ―€λ‘œ 객체 μ£Όμž…μ΄λ‚˜ 생성은 좔상 클래슀둜 λ°›λŠ”κ²Œ μ•ˆμ •μ μž„.

πŸ“Œ Entity @Setter 와 @Builder