中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring AOP的用法

發布時間:2021-07-13 18:37:33 來源:億速云 閱讀:131 作者:chen 欄目:編程語言

本篇內容介紹了“Spring AOP的用法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

畢竟是***次使用Spring AOP,按照Reference中的介紹,準備使用Annotation來完成對AOP的配置。來看一下我做的步驟:

一、需要使用Spring2.0的jar包,現在已經發布正式版的2.0了,可以從http://www.springframework.org/上下載到***的2.0版本。加入到項目的classpath中去。

二、需要在配置文件中啟用新的spring2.0的schema或者是dtd。  

1、在Spring的xml配置文件中加入新的schema:

  1. <beans xmlns="http://www.springframework.org/schema/beans" 

  2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

  3.     xmlns:aop="http://www.springframework.org/schema/aop" 

  4.     xmlns:tx="http://www.springframework.org/schema/tx" 

  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  

  6.            http://www.springframework.org/schema/aop                           http://www.springframework.org/schema/aop/spring-aop-2.0.xsd  

  7.            http://www.springframework.org/schema/tx                                 http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"  

  8.     default-autowire="byName" default-lazy-init="true"> 

2、“如果使用Java 5的話,推薦使用Spring提供的@AspectJ切面支持,通過這種方式聲明Spring AOP中使用的切面。 "@AspectJ"使用了Java 5的注解,可以將切面聲明為普通的Java類。”——Spring reference

3、為了使用Spring AOP的Annotation,在配置文件中加入<aop:aspectj-autoproxy />。

4、編寫切面類:

  1. public class ArticleRemoteAccountsService {  

  2.    


  3.     /** *//**  

  4.      * 在發帖成功之后,給用戶銀幣賬戶沖值  

  5.      *   

  6.      * @param arg  

  7.      * @throws AccountsException  

  8.      * @throws InstantiationException  

  9.      * @throws IllegalAccessException  

  10.      */  

  11.     @After("execution(* com.company.ArticleManager.saveArticle(..))"  

  12.             + " && args(arg)")  

  13.     public void exSilByPost(Article arg) throws AccountsException,  

  14.             InstantiationException, IllegalAccessException {  


  15.         if (arg.getLastUpdateTime() == null  

  16.                 && arg.getArticleByParentId() == null  

  17.                 && arg.getArticleByRootId() == null) {  

  18.             // TODO 主題帖  


  19.         } else if (arg.getLastUpdateTime() == null  

  20.                 && (arg.getArticleByParentId() != null || arg  

  21.                         .getArticleByRootId() != null)) {  

  22.             // TODO  回帖  


  23.         }  


  24.     }  


  25. }  

這里需要注意的是使用Annotation的Poincut語法,execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)這里就不累訴了。同時要注意的如何得到參數的問題,寫法參考如上。

“Spring AOP的用法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湾仔区| 阜平县| 乐安县| 西青区| 保康县| 汤原县| 岳西县| 宝应县| 清水河县| 广平县| 拉孜县| 稻城县| 茶陵县| 莲花县| 子洲县| 东源县| 博客| 英山县| 玛多县| 宝清县| 益阳市| 沾益县| 浪卡子县| 宁城县| 阜新市| 德兴市| 蒙山县| 三原县| 洛川县| 和平县| 虞城县| 上饶县| 宁化县| 集贤县| 丽江市| 云阳县| 高要市| 南和县| 岳阳县| 土默特左旗| 新宁县|