본문 바로가기

aspect2

Spring - AOP(관점지향 프로그래밍) Aspect-oriented Programming, 관점지향 프로그래밍 흩어진 관심사(Crosscutting concerns) 를 유기적으로 연결되도록 프로그래밍하는 것이다. 코드면에서는 중복된 코드가 제거되어 효율적이고, 비즈니스적으로는 관련된 업무가 연결되어 쉽게 통제가 가능할 것이다. 여러 프로그래밍언어에서 AOP 구현체(implementation)가 있는데 java에서는 AspectJ 가 널리 쓰인다. 스프링에서는 스프링 AOP를 사용한다. 스프링 AOP는 AspectJ 보다 제한적인 기능을 제공한다. 개념, 용어 Aspect : 기존 클래스들의 유기적 관계를 재정리할 새로운 관점 클래스들을 말한다. 한 관점은 하나의 모듈이 되는데 이 안에 advice와 pointcut 이 포함된다. Advice.. 2021. 1. 13.
Spring AOP 예제 Spring AOP 스프링의 트라이앵글로 IoC, AOP, PSA 가 있다. 그 중 AOP를 공부해보자. AOP Aspect Oriented Programming, 관점지향 프로그래밍 OOP 는 같은 종류의 대상을 최상위 클래스로 부터 아래 클래스를 긴밀한 관계(추상화, 캡슐화, 상속, 다형성)로 설계를 지향하는 프로그래밍이라면, AOP는 종류가 다른 클래스 사이에서 효율적인 코드 설계(중복 제거 등)를 지향하는 프로그래밍이다. AOP를 구현하는 방법은 아래와 같다. sample.java 를 컴파일하여 sample.class 가 되는 사이에 AOP를 구현한다. (AspectJ) 바이트코드를 조작하여 sample.java ➞ sample.class 로 컴파일 후 실행시키는 과정에서 메모리에서 AOP를 구현.. 2021. 1. 8.
728x90