Spring注入方式实现AOP
2016-07-19 10:25
573 查看
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();
}
}
运行结果:
登录前要校验
超过登录次数的要锁定
登录校验
登录后要记录日志
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();
}
}
运行结果:
登录前要校验
超过登录次数的要锁定
登录校验
登录后要记录日志
相关文章推荐
- Java 设计模式-单例
- 部门树状图用JAXB解决
- springmvc拦截器处理
- struts2工作原理
- Java--泛型的原理以及使用场景
- Spring+SpringMVC+Mybatis 多数据源整合
- spring mvc 创建 rest api
- Java并发编程 - 逐级深入 看线程的中断
- SpringMVC的Handler处理及url映射
- Thinking in Java之类内部变量定义先后顺序
- Java内部类的小结
- struts漏洞
- SpringMVC
- java内部类、数据类型转换
- Java的图片处理工具类ImageUtils
- spring mvc的基本使用和struts2的区别
- java根据字符串获取类名
- Java 中的高阶函数
- 帆软报表嵌入eclipse网页工程中
- ajax get提交后台乱码问题