λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Spring/Spring Quick Start

포인트컷 ν‘œν˜„μ‹

1) λ¦¬ν„΄νƒ€μž… 지정

λ¦¬ν„΄νƒ€μž… μ§€μ •μ—μ„œ κ°€μž₯ 기본적인 방법은 '*'캐릭터λ₯Ό μ΄μš©ν•œλ‹€.

ν‘œν˜„μ‹

μ„€λͺ…

*

λͺ¨λ“  λ¦¬ν„΄νƒ€μž… ν—ˆμš©

void

λ¦¬ν„΄νƒ€μž…μ΄ void인 λ©”μ†Œλ“œ 선택

!void

λ¦¬ν„΄νƒ€μž…μ΄ voidκ°€ μ•„λ‹Œ λ©”μ†Œλ“œ 선택

 

2) νŒ¨ν‚€μ§€ 지정

νŒ¨ν‚€μ§€ 경둜λ₯Ό 지정할 λ•ŒλŠ” '*', '..'캐릭터λ₯Ό μ΄μš©ν•œλ‹€.

ν‘œν˜„μ‹

μ„€λͺ…

com.springbook.biz

μ •ν™•ν•˜κ²Œ com.springbook.biz νŒ¨ν‚€μ§€λ§Œ 선택

com.springbook.biz..

com.springbook.biz νŒ¨ν‚€μ§€λ‘œ μ‹œμž‘ν•˜λŠ” λͺ¨λ“  νŒ¨ν‚€μ§€ 선택

com.springbook..impl

com.springbook νŒ¨ν‚€μ§€λ‘œ μ‹œμž‘ν•˜λ©΄μ„œ λ§ˆμ§€λ§‰ νŒ¨ν‚€μ§€ 이름이 impl둜 λλ‚˜λŠ” νŒ¨ν‚€μ§€ 선택

 

3) 클래슀 지정

클래슀 이름을 지정할 λ•ŒλŠ” '*', '+' 캐릭터λ₯Ό μ§€μ •ν•œλ‹€.

ν‘œν˜„μ‹

μ„€λͺ…

BoardServiceImpl

μ •ν™•ν•˜κ²Œ BoardServiceImpl만 선택

*Impl

클래슀 이름이 Impl둜 λλ‚˜λŠ” 클래슀만 선택

BoardService+

클래슀 뒀에 '+'κ°€ λΆ™μœΌλ©΄ ν•΄λ‹Ή ν΄λž˜μŠ€λ‘œλΆ€ν„° νŒŒμƒλœ λͺ¨λ“  μžμ‹ 클래슀 선택, μΈν„°νŽ˜μ΄μŠ€ 뒀에 '+'κ°€ λΆ™μœΌλ©΄ ν•΄λ‹Ή μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•œ λͺ¨λ“  클래슀 선택

 

4) λ©”μ†Œλ“œ 지정

λ©”μ†Œλ“œλ₯Ό 지정할 λ•ŒλŠ” 주둜 '*'캐릭터λ₯Ό μ‚¬μš©ν•˜κ³  λ§€κ°œλ³€μˆ˜λ₯Ό 지정할 λ•ŒλŠ” '..'을 μ‚¬μš©ν•œλ‹€.

ν‘œν˜„μ‹

μ„€λͺ…

*(..)

κ°€μž₯ κΈ°λ³Έ μ„€μ •μœΌλ‘œ λͺ¨λ“  λ©”μ†Œλ“œ 선택

get*(..)

λ©”μ†Œλ“œ 이름이 get으둜 μ‹œμž‘ν•˜λŠ” λͺ¨λ“  λ©”μ†Œλ“œ 선택

 

5) λ§€κ°œλ³€μˆ˜ 지정

λ§€κ°œλ³€μˆ˜λ₯Ό 지정할 λ•ŒλŠ” '..', '*' 캐릭터λ₯Ό μ§€μ •ν•˜κ±°λ‚˜ μ •ν™•ν•œ νƒ€μž…μ„ μ§€μ •ν•œλ‹€.

ν‘œν˜„μ‹

μ„€λͺ…

(..)

κ°€μž₯ κΈ°λ³Έ μ„€μ €μœΌλ‘œμ„œ '..'은 λ§€κ°œλ³€μˆ˜μ˜ κ°œμˆ˜μ™€ νƒ€μž…μ— μ œμ•½μ΄ μ—†μŒμ„ 의미

(*)

λ°˜λ“œμ‹œ 1개의 λ§€κ°œλ³€μˆ˜λ₯Ό κ°€μ§€λŠ” λ©”μ†Œλ“œλ§Œ 선택

(com.springbook.user.UserVO)

λ§€κ°œλ³€μˆ˜λ‘œ UserVOλ₯Ό κ°€μ§€λŠ” λ©”μ†Œλ“œλ§Œ 선택, 이 λ•Œ 클래슀의 νŒ¨ν‚€μ§€ κ²½λ‘œκ°€ λ°˜λ“œμ‹œ ν¬ν•¨λ˜μ–΄μ•Όν•¨

(com.springbook.user.UserVO!)

맀개 λ³€μˆ˜λ‘œ UserVOλ₯Ό 가지지 μ•ŠλŠ” λ©”μ†Œλ“œλ§Œ 선택

(Integer, ..)

ν•œ 개 μ΄μƒμ˜ λ§€κ°œλ³€μˆ˜λ₯Ό κ°€μ§€λ˜, 첫 번째 λ§€κ°œλ³€μˆ˜μ˜ νƒ€μž…μ΄ inte-gaer인 λ©”μ†Œλ“œλ§Œ 선택

(Integer, *)

λ°˜λ“œμ‹œ 두 개의 λ§€κ°œλ³€μˆ˜λ₯Ό κΈ°μ§€λ˜, 첫 번째 맀개 λ³€μˆ˜μ˜ νƒ€μž…μ΄ Integer인 λ©”μ†Œλ“œ 선택

 


μ˜ˆμ‹œ

<aop:pointcut id="allPointcut" expression="execution(* com.springbook.biz..*Impl.*(..))" />
            
<aop:pointcut id="getPointcut" expression="execution(* com.springbook.biz..*Impl.get*(..))"/>

'Spring > Spring Quick Start' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

Annotation 기반 AOP 적용  (0) 2021.01.07
JointPoint λ©”μ†Œλ“œ  (0) 2021.01.07
Advice λ™μž‘ μ‹œμ   (0) 2021.01.07
AOP μ—˜λ¦¬λ¨ΌνŠΈ  (0) 2021.01.07
AOP μš©μ–΄  (0) 2021.01.07
AOP μ„€μ •ν•˜κΈ°  (0) 2021.01.07