采用静态配置文件方式实现AOP
接口:
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);
?
}
實(shí)現(xiàn):
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及應(yīng)用到哪個(gè)pointcut -->
??????????? <aop:before method="checkSecurity" point-ref="allAddMethod"/>
??????? </aop:aspect>
???? </aop:config>
</beans>
轉(zhuǎn)載于:https://www.cnblogs.com/jinzhengquan/archive/2011/02/22/1961661.html
總結(jié)
以上是生活随笔為你收集整理的采用静态配置文件方式实现AOP的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 职场减压的8个建议
- 下一篇: struts2的处理流程