1. 설정 파일에 AOP 설정

- XML 스키마 확장기법을 통해 설정파일을 작성한다..

2. POJO 기반 공통 관심사항 로직 클래스 작성

3. XML 스키마를 이용한 AOP 설정

- aop 네임스페이스와 XML 스키마 추가

 

 

Posted by 조은성
,

1. Spring AOP(Aspect-Oriented Programming) 개요(관점지향 프로그램)

① Application을 두가지 관점에 따라 구현

- 핵심 관심 사항(core concern)

- 공통 관심 사항(cross-cutting concern)

② 기존 OOP 보완

- 공통 관심 사항을 여러 모듈에서 적용하는데 한계가 존재

- AOP는 핵심 관심 사항과 공통관심 사항 분리하여 구현

 

 

2. Spring AOP 용어

① Target : 핵심사항(Core)가 구현된 객체

② JoinPoint : 공통관심사항이 적용될 수 있는 지점(ex : 메소드 호출시,

객체생성시 등)

③ Pointcut : JoinPoint 중 실제 공통사항이 적용될 대상을 지정

④ Advice

- 공통관심사항(Cross-Cutting) 구현 코드 + 적용시점.

- 적용 시점 : 핵심로직 실행 전, 후, 정상종료 후, 비정상 종료 후, 전/후가 있다.

⑤ Aspect - Advice + Pointcut

⑥ Weaving : JoinPoint의 Advice에 Aspect를 주입하는 코드를 만드는 것

(컴파일 시점, 런타임 시점 Weaving이 있다.)

 

3. Spring에서 AOP 구현 3가지 방법

① POJO Class를 이용한 AOP 구현

② 스프링 API를 이용한 AOP 구현

③ 어노테이션(Annotation)을 이용한 AOP 구현

 

Posted by 조은성
,

1. Bean 객체의 생성 단위

① BeanFactory를 통해 Bean을 요청시 객체 생성의 범위(단위)를 설정

② <bean>의 scope 속성을 이용해 설정

- scope의 값

 

- request, session은 WebApplicationContext에서만 적용 가능

③ 빈(bean) 범위 지정

- singleton과 prototype

· <bean id="dao" class="dao.OracleDAO" scope="prototype"/>

· prototype은 Spring 어플리케이션 컨텍스트에서 getBean으로 빈(bean)을 사용

시 마다 새로운 인스턴스를 생성함.

· singleton은 Spring 어플리케이션 컨텍스트에서 getBean으로 빈(bean)을 사용

시 동일한 인스턴스를 생성함.

 

2. Factory 메소드를 통한 Bean 주입

① Factory 메소드로부터 빈(bean) 생성

 

- 주의 : getBean()으로 호출 시 private 생성자도 호출하여 객체를 생성한다.

그러므로 위의 상황에서 factory 메소드로만 호출 해야 객체를 얻을 수

있는 것은 아니다.

 

Posted by 조은성
,