🌱 SPRING/스프링 인 액션

    @Around

    @Around

    @Around@Around는 단일 어드바이스 메서드로 @Before와 @After를 동시에 컨트롤 할 수 있다. 12345678910111213141516171819202122232425@Aspectpublic class Audience{ @Pointcut("execution(** concert.Performance.perform(..))") public void performance() {} @Around("performance()") public void watchPerformance (ProceedingJoinPoint joinPoint) { try { System.out.println("휴대폰을 매너 모드로 변경한다."); System.out.println("자리에 앉는다."); joinPoint..

    애스펙트 정의하기

    애스펙트 정의하기

    애스펙트 정의하기123456789101112131415161718192021222324252627@Aspectpublic class Audience{ @Before("execution(** concert.Performance.perform(..))") public void silenceCellPhones () { System.out.println("휴대폰을 매너 모드로 변경한다."); } @Before("execution(** concert.Performance.perform(..))") public void takeSeats () { System.out.println("자리에 앉는다."); } @AfterReturning("execution(** concert.Performance.perforn(..)..

    포인트 커트를 이용한 조인 포인트 선택

    포인트 커트를 이용한 조인 포인트 선택

    포인트 커트를 이용한 조인 포인트 선택스프링은 AspectJ에서 사용할 수 있는 포인트 커트 지정자에 속하는 것만 지원한다. AspectJ 지정자 설명 args() 인자가 주어진 타입의 인스턴스인 조인 포인트 매칭을 정의한다. @args() 전달된 인자의 런타임 타입이 주어진 타입의 어노테이션을 갖는 조인 포인트 매칭을 정의한다. execution() 메서드 실행 조인 포인트와 일치시키는 데 사용된다. this() AOP 프록시의 빈 레퍼런스가 주어진 타입의 인스턴스를 갖는 조인 포인트를 정의한다. target() 대상 객체가 주어진 타입을 갖는 조인 포인트를 정의한다. @target() 수행 중인 객체의 클래스가 주어진 타입의 어노테이션을 갖는 조인 포인트를 정의한다. within() 특정 타입에 속하..

    AOP란?

    AOP란?

    AOP를 이해하기 위해서는 횡단 관심사에 대해서 우선 알아야 한다. 횡단 관심사(cross-cutting concerns) 한 애플리케이션의 여러 부분에 영향을 주는 기능공통 기능을 재사용하기 위해 일반적으로 상속이나 위임을 사용하나, 상속은 객체의 정적 구조에 의존하므로 복잡하고 깨지기 쉬운 구조가 되기 쉽고, 위임은 대상 객체에 대한 복잡한 호출로 인해 번거로움 AOP란?AOP는 횡단 관심사를 애스팩트(aspect)라는 특별한 클래스로 모듈화한다.아래 내용을 보다보면 이해가 될 것이다. AOP가 다른 기법과 차별화되는 장점1. 전체 코드 기반에 흩어져 있는 관심 사항이 하나의 장소로 응집된다2. 여타 서비스 모듈이 자신의 주요 관심 사항에 대한 코드만 포함하고 그 외 관심 사항은 모두 애스팩트로 옮겨..

    조건부 빈

    조건부 빈

    조건부 빈스프링 4.0부터 @Conditional 어노테이션으로 조건이 참일 때만 빈이 생성시킬 수 있다. 123456@Bean@Conditional(MagicExistCondition.class)public MagicBean magicBean () { return new MagicBean();}Colored by Color Scriptercs 위 소스에서는 환경 프로퍼티 중 MagicExistCondition.class 가 true를 반환 할 때 MagicBean이 생성된다. 1234public interface Condition{ boolean matches (ConditionContext ctxt, AnnotatedTypeMetadata metadata);}Colored by Color Script..

    XML로 빈 와이어링하기

    XML로 빈 와이어링하기

    XML로 빈 와이어링하기1. XML 설정 스펙 만들기JavaConfig 에서 @Configuration 어노테이트된 클래스를 만들듯이 루트 XML 파일을 만든다. 12345678 Colored by Color Scriptercs 2. 간단한 빈 선언 요소를 사용해 빈을 선언한다. JavaConfig 의 @Bean과 유사하다고 보면된다. 1cs ID 값을 별도로 설정하지 않았기 때문에 이 빈의 ID는 com.test.logicalCode.soundSystem.SgtPeppers#0 이다.하지만 사용자를 위해 자동으로 빈 ID가 명명되어도 자동으로 만들어지는 이름은 유용성이 떨어지므로 ID를 부여하도록한다. 1cs 3. 생성자 주입을 사용하여 빈 초기화하기XML로 DI를 선언할 때, 여러 옵션이 있는데, 특..

반응형