接口:

package com.jzq.spring;

public interface UserManager {

 public void addUser(String username,String password);
 
 public void deleteUser(int id);
 
 public void modifyUser(int id,String username,String password);
 
 public String findUserById(int id);
 
}

实现:

package com.jzq.spring;

public class UserManagerImpl implements UserManager {

 @Override
 public void addUser(String username, String password) {
    
  System.out.println("------UserManagerImpl.addUser()-----");
 }

 @Override
 public void deleteUser(int id) {
        System.out.println("--------UserManagerImpl.deleteUser()-------");
 }

 @Override
 public String findUserById(int id) {
     System.out.println("--------UserManagerImpl.findUser()----------");
  return null;
 }

 @Override
 public void modifyUser(int id, String username, String password) {
        System.out.println("--------deleteUser()-------");
 }

}

切面:

package com.jzq.spring;


public class SecurityHandler {

 private void checkSecurity()
 {
  System.out.println("---------checkSecurity()------------");
 }

}

配置:

<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-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">


     <bean id="securityHandler" class="com.jzq.spring.SecurityHandler"/>
     <bean id="userManager" class="com.jzq.spring.UserManagerImpl"/>
     <!-- aop的配置 -->
     <aop:config>
        <!-- 定义切面 -->
        <aop:aspect id="security" ref="securityHandler">
            <!-- 定义切面中的pointcut -->
            <aop:pointcut id="allAddMethod" expression="execution(* add*(..))"/>
            <!-- 指定advice及应用到哪个pointcut -->
            <aop:before method="checkSecurity" point-ref="allAddMethod"/>
        </aop:aspect>
     </aop:config>
</beans>

posted on 2011-02-22 20:45  魔战  阅读(222)  评论(0编辑  收藏  举报