spring代理:Spring代理处理参数和思路方法

  Spring代理处理参数和思路方法:

package com.rx.spring.dynamicmock;
public erface UserManager {
  public void addUser(String username, String password);
  public void deleteUser( id);
}
package com.rx.spring.dynamicmock;
public UserManagerImpl implements UserManager {
  public void addUser(String username, String password) {
    .out.prln("-------UserManagerImpl.addUser----------");
  }
  public void deleteUser( id) {
    .out.prln("-------UserManagerImpl.deleteUser----------");
  }
}
package com.rx.spring.dynamicmock;
import org.aspectj.lang.JoinPo;
public SecurityHandler {
  /***
   * 处理连接点
   * @param joinPo 
   */
  private void checkSecurity(JoinPo joinPo) {
    Object args = joinPo.getArgs;
    for ( i=0; i<args.length; i) {
      .out.prln(args[i]);
    }
    .out.prln(joinPo.getSignature.getName);
    .out.prln("----------checkSecurity---------------");
  }
}
package com.rx.spring.dynamicmock;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public Client {
  public void (String args) {
    BeanFactory factory = ClassPathXmlApplicationContext("applicationContextMockSpring.xml");
    UserManager userManager = (UserManager)factory.getBean("userManager");
    userManager.addUser("abc", "123");
  }
}
  
<?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-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" ="com.rx.spring.dynamicmock.SecurityHandler"/>      
  <bean id="userManager" ="com.rx.spring.dynamicmock.UserManagerImpl"/>
  <aop:config>
    <aop:aspect id="security" ref="securityHandler">
      <aop:pocut id="allAddMethod" expression="execution(* com.rx.spring.dynamicmock.UserManagerImpl.add*(..))"/>
      <aop:before method="checkSecurity" pocut-ref="allAddMethod"/>
    </aop:aspect>
  </aop:config>  
</beans>
运行结果:

abc
123
addUser
----------checkSecurity---------------
-------UserManagerImpl.addUser----------


Tags:  批处理参数 spring异常处理 spring事务处理 spring代理

延伸阅读

最新评论

发表评论