____ 9.spring의 AOP 스프링 학습 구현 2 : AOP 사용자 정의 클래스에 의해 구현

(이 경우에 또는과 함께 문서는 방법 UserServiceImpl 직조 로그 횡 방향)

1. 사용자 정의 향상 쓰고 싶은 :

공용  클래스 DIY의 { 

    공개  공극 전에는 () { 
        에서 System.out.println는 ( "전자의 방법이 수행 ~~~~~~~~~~~~~~~ ' ); 
    } 

    공공  무효 {) (이후 
        에서 System.out.println ( "방법 ~~~~~~~~~~~~~ 수행" ) 
    } 

}

구성 파일을 2.spring 쓰기 :

<? XML 버젼 = "1.0"인코딩 = "UTF-8" ?> 
< 의 xmlns = "http://www.springframework.org/schema/beans" 
       의 xmlns :이 xsi = "http://www.w3.org/2001 / 된 XMLSchema 인스턴스 " 
       XMLNS : AOP ="http://www.springframework.org/schema/aop " 
       XSI :의 schemaLocation ="http://www.springframework.org/schema/beans 
        HTTP : //www.springframework. 조직 / 스키마 / 콩 / 스프링 beans.xsd 
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop.xsd " > 

   <! - 1 .user 콩的注册-> 
    <= "com.xbf.service.UserServiceImpl" /> 

    <! - 2. 등록 된 사용자 정의 클래스 콩 -> 
    < ID = "DIY" 클래스 = "com.xbf.diy.Diy" /> 

    <! - - 3.aop -> 
    < AOP : 설정 > 
        <! - 절단 표면 사용자 정의 클래스 -> 
        < AOP : 가로 세로 REF = "DIY" > 

            <! - 진입 점 -> 
            < AOP : 포인트 컷의 ID = " 포인트 컷 " 표현식 ="실행 (com.xbf.service.UserServiceImpl * (...)). " /> 

            <! - 컷 파스타 방법 ->
            < AOP : 이전 방법= "이전" 포인트 컷-REF = "포인트 컷" /> 
            < AOP : 후 있어서 = "후" 포인트 컷-REF = "포인트 컷" /> 

        </ AOP : 태양 > 

    </ AOP : 구성 > 



</ >

3. 기록 테스트 클래스 :( 인터페이스)를 수신하고 동일한 동적 프록시]

공용  클래스 DiyTest { 

    @Test 
    공개  공극 시험 () { 

        ApplicationContext의 컨텍스트 = 새로운 ClassPathXmlApplicationContext ( "beans.xml 환경" ); 

        UserService 사용자 = (UserService) context.getBean ( "사용자" ); 

        user.add (); 
    } 
}

요약 : 자기 강화 등가 클래스 정의 절단면은 클래스 메소드 구현 클래스 직조 횡 (즉, 시점) 방법을 개선하는 것이다.

 

추천

출처www.cnblogs.com/xbfchder/p/11272899.html