AOP

A collection of 16 posts
@DeclareError

AspectJ의 @DeclareError를 사용해서 컴파일 시점에 아키텍처 에러 검증하자.

참조: http://www.parleys.com/display/PARLEYS/Home#slide=1;title=Spring%20Architectures;talk=20676612 위 발표자료 내용 주에 아주 잼나는 코드를 건졌습니다. 지난 번 KSUG에서 발표한 내용과 겹치는데 아래 코드는 그때 제가 보여드린 코드보다 좀 더 좋은 것 같아서 가져왔습니다. @Aspect public class SystemArchitecture { @Pointcut(“execution(* configurator.*.*(..))”) public void
1 min read
AOP

AOP를 설명하는 그림 두 장

역사, 이론, 개념… 등등도 중요하지만, 무엇보다.. ‘감’이 중요한거 아닐까요. 딱 보고 ‘감’이 잡힐 만하면 충분하다고 봅니다. 그 뒤에 정말 궁금해서 역사, 이론, 개념들을 살펴보면 되겠죠. 처음부터 장황하게 이러 저러해서 이러 저러한걸 말들었고 어쩌구 저쩌구…  제가 봤었던 AOP 관련 자료 중에 가장 AOP에 대한 ‘감’을 잡게 해준 그림은
1 min read
AOP

4. @AspectJ 사용하는 초간단 AOP 예제

JDK 6에서도 테스트 해봤습니다. Spring 2.5 jar 파일을 사용했으며, AspectJ 관련 라이브러리는 lib폴더에 있는 것들을 사용했습니다. 결과화면 오랜만에 배치기 노래도 듣을 수 있고 좋군요. 저 예제를 돌리고 나서 얼마나 신났었는지 그 때의 기분을 고대로 느낄 수 있었습니다. 댓글 주셔서 감사합니다. ================================================================================ Spring Reference 6장 [http://static.springframework.org/spring/docs/
3 min read
AOP

JDBC 함수 실행 전에, Hibernate 세션 플러시하기

요약/번역/참조 : Before a JDBC operation, flush the Hibernate Session (includes TSE example code) [http://blog.interface21.com/main/2008/01/04/before-a-jdbc-operation-flush-the-hibernate-session-includes-tse-example-code/] 문제 상황 ORM을 사용하는 코드와 ORM을 사용하지 않는 코드(생 SQL)를 한 뭉탱이 한 트랜잭션으로 처리할 때, 데이터베이스에 있는 데이터를 사용할 수 없는 이슈가 발생할
8 min read
AOP

Aspect Oriented Programming with Spring

6.1. IntroductionAOP의 기본 개념과 Spring AOP의 기능과 목표를 이야기 합니다. Spring AOP는 Proxy 기반입니다. 6.1. Introduction [../../../../648] 6.2. @AspectJ support어노테이션을 사용하여 AspectJ를 사용하는 방법입니다. Spring AOP가 지원하는 포인트컷은 method 실행 시점뿐입니다. 6.2. @AspectJ support [../../../../654] 6.3. Schema-based AOP support6.2에서 한 내용을 어노테이션 기반이 아닌
1 min read
AOP

AOP: Radical Research in Modularity

http://video.google.com/googleplayer.swf?docId=8566923311315412414&hl=en [http://video.google.com/googleplayer.swf?docId=8566923311315412414&hl=en] Google video에서 engedu[footnote]English education의 약어인듯..[/footnote]로 검색했더니 AOP 강좌가 있었습니다. 흠~ 한시간에 걸쳐 다 보았는데 마지막에 AOP는 모듈화 하는 기술이라고 합니다. 그리고 강의는 주로 AspectJ에 대해서 설명을
1 min read
AOP

7. @AspectJ 사용하는 초간단 AOP 예제 2

@AspectJ 를 사용하는 초간단 AOP 예제 [http://whiteship.tistory.com/360]에서 Pointcut을 선언하고 Advice들에서 해당 Pointcut을 불러가며 사용했었습니다. @Pointcut(“execution(public * ex1.Human.sayName(..))”) public void greeting() { } @AfterReturning(“greeting()”) public void doBeforeOne() { System.out.println(“AOP 죽~ 여~ 줍니다~”); } 이렇게 했었는데요. AspectJ에서는 Anonymous Pointcut이라고 하는데 Spring AOP(중에서도@AspectJ)
1 min read
AOP

5. XML 사용하는 초간단 AOP 예제

초간단 AOP 예제는 이것으로 세개 째군요. 이전에 올렸던 @AspectJ 사용하는 초간단 예제를 XML 설정 파일을 사용하도록 바꿔봤습니다. 다른 파일들은 모두 같고 MannerAOP파일에서 모든 어노테이션들을 띄어 내고 다음과 같이 수정했습니다. public class MannerAOP { public void beforeSaying() { System.out.println(“다시 한 번 소개 합니다~”); } public void afterSaying() { System.out.println(“AOP
2 min read
AJDT

3. AspectJ 사용하는 초간단 AOP 예제

앞에서 보았던 이클립스 플러긴 [http://whiteship.tistory.com/348]을 잘~ 설치하신 뒤에(이클립스 메뉴를 사용한 설치 추천) 이클립스를 실행합니다. 소스 코드는 기본적으로 AJDT에서 제공해주는 데모 동영상을 참조했습니다. 먼저 이클립스에서 자바 프로젝트를 생성하고 다음과 같이 기본적인 클래스를 작성합니다. public class Keesun { public static void main(String[] args) { new Keesun().say(
2 min read
AOP

Inversion of Control

Inversion of Control Dependency Injection(의존성 주입)과 혼용되어 사용되는 것을 종종 보았는데 이 글을 읽어보니 어느정도 명확해 지네요. IOC가 보다 광범위한 의미이고 이 것을 표현하는 여러가지 방법이 있습니다. DI도 그중에 하나라고 하네요. 이번 장에서 말하고 있기로는 AOP와 DI가 IOC의 일부라고 합니다. 먼저 간략히 정의를 살펴보면 IOC는 braod range of
11 min read