728x90
๋ฐ์ํ
๐ฏ ์์ดํ 65. ๋ฆฌํ๋ ์ ๋ณด๋ค๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ผ.
๋ฆฌํ๋ ์
์ ๋ณต์กํ ํน์ ์์คํ
์ ๊ฐ๋ฐํ ๋ ํ์ํ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ด์ง๋ง, ๋จ์ ๋ ๋ง๋ค. ์ปดํ์ผํ์์๋ ์ ์ ์๋ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค๋ฉด ๋ฆฌํ๋ ์
์ ์ฌ์ฉํด์ผ ํ ๊ฒ์ด๋ค. ๋จ, ๋๋๋ก ๊ฐ์ฒด ์์ฑ์๋ง ์ฌ์ฉํ๊ณ , ์์ฑํ ๊ฐ์ฒด๋ฅผ ์ด์ฉํ ๋๋ ์ ์ ํ ์ธํฐํ์ด์ค๋ ์ปดํ์ผํ์์ ์ ์ ์๋ ์์ ํด๋์ค๋ก ํ๋ณํํด ์ฌ์ฉํด์ผ ํ๋ค.
@Before(VO_SETTING_EXPRESSION)
public void setVO(JoinPoint joinPoint) {
Object[] objects = joinPoint.getArgs();
if(SecurityContextHolder.getContext().getAuthentication()!= null) {
InnoUser user = (InnoUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
AdminVO vo = user.getAdminVO();
for (Object o : objects){
Method[] methods = o.getClass().getMethods(); // ๋ฆฌํ๋์
Optional<Method> setRegDtime = Arrays.stream(methods).filter(e->e.getName().equals("setRegDate")).findFirst();
Optional<Method> setModDtime = Arrays.stream(methods).filter(e->e.getName().equals("setModDate")).findFirst();
// ... ์๋ต
}
}
}
์ฐธ๊ณ ์๋ฃ
Joshua Bloch, ใEffective Java 3/Eใ, ๊ฐ์๋งต์ ์ฎ๊น, ํ๋ก๊ทธ๋๋ฐ์ธ์ฌ์ดํธ(2018)
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966262281&orderClick=LEa&Kc=
728x90
๋ฐ์ํ