매일같이 1뽀모도리 이상의 실습을 프로젝트를 진행하지 않고 있더라도 하도록 하였으니 오늘은 배운것중. aop 네임스페이스를 이용한 aop 등록에 대해 알아보고자 한다. aop 네임스페이스의 실습에 앞서 aop의 정의에 대해 알아보도록 하자. AoP란 Aspect Oriented Programming의 약자로 한국말로는 관점지향 프로그래밍이라는 뜻이다. 이렇게 뜻을 풀어놔도 글자 자체가 어려워서 AOP에 대해서 이해하지 못하고 있었는데 가장 와닿는 정의를 발견하여 다음과 같이 적는다. "OOP로는 모듈화 하지 못하는 프로젝트 전체에 산재해 있는 부가기능 소스를 모듈화 한 것" 공통된 부가기능으로는 트랜잭션, 성능테스팅, 로그출력등을 들 수 있다. 이번 실습에서는 기존에 만들었던 테스트빈인 MyBean클래스..
스프링에서 PointCut을 적용할 때 String의 equal로 여러개의 클래스나 메서드를 포괄하기에는 쉽지 않은 일인데 이러한 것을 해결해 주는 것이 AspectJ 표현식을 이용하는 것이다. [AspectJ 표현식을 사용하지 않은 AOP 예제] https://honeyinfo7.tistory.com/104 Spring AOP의 토대가 되는 빈 후처리기를 이용한 프록시 객체 생성 스프링의 주요 기능은 DI, AOP, POJO, 서비스 추상화이다. 이 중 AOP 기능은 자주 사용하지만 AOP의 기반이 되는 기술을 잘 모르는 경우가 많다. 그래서 AOP의 기반기술이 되는 스프링의 빈 후처리기 및 프록시 객.. honeyinfo7.tistory.com AspectJ는 PARC에서 개발한 자바 프로그래밍 언어..
스프링의 주요 기능은 DI, AOP, POJO, 서비스 추상화이다. 이 중 AOP 기능은 자주 사용하지만 AOP의 기반이 되는 기술을 잘 모르는 경우가 많다. 그래서 AOP의 기반기술이 되는 스프링의 빈 후처리기 및 프록시 객체 생성에 대하여 적어보고자 한다. 우리는 보통 소스코드를 작성할 때 목적에 맞게 클래스를 나누고 각 클래스 안에는 특수 목적을 가진 소스코드와 코드와 성능측정, 로그, 트랜잭션등 여러 클래스에 산재해서 많이 쓰이는 부가기능 코드를 작성한다. 그런데 이러한 부가기능이 각 코드에 산재해서 존재할 경우 소스코드의 응집도가 떨어질 수 있는 문제점이 있다. 그래서 이러한 핵심코드및 부가기능의 분리를 위해 프록시 패턴, 데코레이터 패턴등 많은 디자인 패턴이 생겨나게 되었다. 스프링에서는 이러..