2018-10-24 Spring AOP(切断面向けプログラミング)

2683 ワード

Springエージェントの2つの方法
一、コンフィギュレーションContect.xmlドキュメントを使用して代理を実現する.
最初の導入:





    
        
    


二、注釈を使って代理を実現する.
1、コメントを使う前にxmlプロファイルで自動代理を行う

接面すなわち補強類に@Asppect注を使うと、
package com.spring.plus;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;

@Aspect//      
public class MyPlus {
    @Before("execution(void com.spring.dao.impl.AgentDaoImpl.levelUp())")//  :    ,   levelUp    puls()  
    public void plus(){
        System.out.println("  999,       !");
    }
}

AgentDao類
package com.spring.dao.impl;

import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Component;

import com.spring.dao.AgentDao;
import com.spring.plus.MyPlus;
@Component("agentDao")
public class AgentDaoImpl implements AgentDao {
    @Override
    public void levelUp() throws Exception {
        System.out.println("this is AgentDao implement class!");
    }
}
Testテストクラス
@Test
    public void test(){
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        MyPlus p=(MyPlus) context.getBean("myPlus");
        
        try {
            AgentDao agentDao=(AgentDao) context.getBean("agentDao");
            agentDao.levelUp();
        } catch (Exception e) {
            
            e.printStackTrace();
        }
    }
出力結果:一刀999、装備回収秒から入金!this is AgentDao implement class!