자바 환경으로 바꿔서
자바 프로젝트로
프로젝트 우클릭후
configure →
convert to maven project 클릭해서
메이븐 프로젝트로 바꿔줘
spring 과 Aop 용 라이브러리 추가하기 위해 이렇게 해줘
3개의 패키지 생성해줘
main package 에
new -> Spring Bean Configuration File 클릭
파일 명을 init.xml 로 명명한 후
Next 클릭
aop 선택해 주고
Finish
메인 클래스도 만들어 준 후
방금 만든 xml 파일을 로딩 할 수 있도록 코딩 해줘
MemberService 인터페이스 만들어 줘
간단하게 이렇게만 해 준뒤
MemberServiceImpl 클래스 만들어줘
방금 만든 서비스 인터페이스를 구현해줘
이렇게 하고 init.xml 에서 MemberService 를 bean 으로 만들기 위해
init.xml 에 가서
이렇게 추가해줘
이제 MainClass 로 가서
bean 에 있는 걸 불러올수 있어
이렇게 해주고 Run 시켜보면
콘솔창에 실행 되는 것을 확인 할 수 있어
insert 하기 전에 뭔가 작업을 하고 싶으면
핵심 코드 말고 이런 작업을 하기 위해선 클래스를 위와 같이 수정을 해야해
어떤 로직을 수행하기 이전과 이후에 적용할 작업을 따로 만들어 두고
필요 할떄 필요한 위치에다가 집어 넣고 싶어
그게 가능하다면 편리하겠지??
어떤 특정 요청을 처리할때 그 세션에 로그인 정보가 있는지 없는지 확인을 해서
유무에 따라 다른 작업을 하고 싶어
컨트롤러에 집어 넣는다고 한다면 필요 한 곳에 그 작업을 다 집어 넣어야해
필요한 작업을 미리 작업을 해두고
필요한 시점에 설정으로 원하는 위치에 적용을 시키는 방법이 있어
그게 바로 AOP
이 클래스는 수정을 안하고 insert 이전/이후, select 이전/이후에 뭔가 작업을 끼워 넣을거야
클래스 만들고
이 두작업을 끼워 넣을거야
joinpoint 는 합쳐지는 지점이라고 보면 돼
그리고 init.xml 로 가서
이렇게 완성 시켜줘
오타 없이 잘 했으면
왼쪽에 헤드셋? 모양 같은게 생긴 것을 볼수 있어
비즈니스 로직과 관련이 없는 이런 것들을
횡단 관심사라고 해
(crosscuttion concerns)
MainClass 를 실행시켜 보면
insert 앞뒤로 들어 간 것을 확인 할 수 있어.
이렇게 해주면
다 적용 됌.
이 위치가 어디냐 라는 것은
point cut 으로 적용을 하는 거야
적용을 해
인터페이스 하나 더 만들고
코딩해줘
Impl 클래스 만들어 주고
얘를 bean 객체로 만들어 주는 방법은
여기에 코드 한줄 추가
MainClass 가서
소스코드 추가하고
실행시켜보면
insert 이전/이후에 출력이 된 것을 확인가능
'FrameWork > spring' 카테고리의 다른 글
Spring_Aop_Anno2 (0) | 2017.07.31 |
---|---|
Spring_Aop_Anno (0) | 2017.07.31 |
Step06_FileUpload (0) | 2017.07.30 |
Step05_JsonResponse-2.회원가입 아이디 중복체크 (0) | 2017.07.30 |
Step05_JSONResponse-1. json01~05 (0) | 2017.07.30 |