전체 글

전체 글

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

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

    포인트 커트를 이용한 조인 포인트 선택스프링은 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를 선언할 때, 여러 옵션이 있는데, 특..

    자바로 빈 와이어링하기

    자바로 빈 와이어링하기

    자바로 빈 와이어링하기대부분 컴포넌트 스캐닝과 오토 와이어링을 사용한 자동 스프링 설정을 선호하지만, 이때 자동 설정은 옵션이 아니며 스프링을 명시적으로 설정해야한다. 예를 들면, 타사 라이브러리의 컴포넌트를 애플리케이션으로 와이어링 하고자 했을 때, 그 라이브러리의 소스 코드를 가지고 있지 않으므로 클래스를 @Component와 @Autowired를 사용하서 어노테이트 할 수 없다. 따라서 자동 설정은 선택지가 아니다. JavaConfigJavaConfig는 매우 강력하고, Type-safe하며, 리팩토링이 친화적이므로 명시적인 설정을 위해 선호하는 옵션이다.JavaConfig는 컴포넌트와 동일한 언어로 작성되었지만, 설정용 코드이며 다른 자바 코드와 완전히 동일하지 않다.어떠한 비즈니스 로직도 포함하..

    빈 와이어링 - 자동 와이어링

    빈 와이어링 - 자동 와이어링

    빈 와이어링(Bean wiring)애플리케이션 객체 간의 연관관계 형성 작업 설정 옵션- XML에서의 명시적 설정- 자바에서의 명시적 설정- 내재되어 있는 빈을 찾아 자동으로 와이어링하기 명시적인 설정은 적을수록 좋다. 명시적인 빈 설정을 해야 할 때는, 타입 세이프를 보장하고 더욱 강력한 JavaConfig를 XML보다 선호한다.사용하고자 하는 XML 네임스페이스의 기능이 JavaConfig 에 없을 경우 XML을 사용한다. 자동 와이어링컴포넌트 스캐닝애플리케이션 컨텍스트에서 생성되는 빈을 자동으로 발견한다.XML 설정을 통해서 컴포넌트 스캐닝을 활성화하려면 스프링의 컨텍스트 네임스페이스로부터 요소를 사용한다. 123456789101112 Colored by Color Scriptercs 오토와이어링스..

반응형