Spring注入方式实现AOP

来源:互联网 发布:爱的算法 刘宇昆 编辑:程序博客网 时间:2024/05/16 05:11

Spring注入方式实现AOP

lib包:


1:applicationcontext.xml

<?xml version="1.0" encoding="UTF-8"?>  
  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns:aop="http://www.springframework.org/schema/aop"  
    xmlns:tx="http://www.springframework.org/schema/tx"  
    xsi:schemaLocation="   
             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd   
             http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd   
             http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> 
             
<bean id="checkip" class="com.zn.service.impl.CheckipImpl"/>
<bean id ="checkHelper" class="com.zn.common.CheckHelper"/>
<aop:config>
<aop:aspect ref="checkHelper">
<aop:before method="beforeCheck" pointcut="execution(* *.check(..))"/>
<aop:after method="afterCheck" pointcut="execution(* *.check(..))"/>
</aop:aspect>
</aop:config>
</beans>

2:Checkipable.java

package com.zn.service;


public interface Checkipable {


//校验
void check();
}

3:实现类CheckipImpl.java

package com.zn.service.impl;


import com.zn.service.Checkipable;


public class CheckipImpl implements Checkipable{




public void check() {
// TODO Auto-generated method stub
System.err.println("登录校验");
}


}

4:CheckHelper.java

package com.zn.common;




public class CheckHelper{


public void afterCheck() {
// TODO Auto-generated method stub
System.err.println("登录后要记录日志");
}


public void beforeCheck() {
// TODO Auto-generated method stub
System.err.println("登录前要校验");
System.err.println("超过登录次数的要锁定");
}


}

5: MainTest.java

package com.zn;


import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


import com.zn.service.Checkipable;


public class MainTest {


public static void main(String args[]){
ApplicationContext ct = new ClassPathXmlApplicationContext("applicationcontext.xml");         
Checkipable checker = (Checkipable)ct.getBean("checkip");        
checker.check();
}


}


运行结果:

登录前要校验
超过登录次数的要锁定
登录校验
登录后要记录日志

0 0
原创粉丝点击