Spring2.0 AOP使用心得(一)
??????正在做的項(xiàng)目中有一個(gè)類似積分的需求,比如用戶在討論區(qū)發(fā)帖后,需要給一定的積分這樣的需求。因?yàn)樾枨笫亲兓模瑫r(shí)為了使已經(jīng)寫(xiě)好的發(fā)帖代碼不被入侵,所以考慮使用Spring2.0 AOP來(lái)實(shí)現(xiàn)這個(gè)功能。
??????畢竟是第一次使用Spring2.0的AOP,按照Reference中的介紹,準(zhǔn)備使用Annotation來(lái)完成對(duì)AOP的配置。來(lái)看一下我做的步驟:
??????一、需要使用Spring2.0的jar包,現(xiàn)在已經(jīng)發(fā)布正式版的2.0了,可以從
http://www.springframework.org/
? 上下載到最新的2.0版本。加入到項(xiàng)目的classpath中去。
????? 二、需要在配置文件中啟用新的spring2.0的schema或者是dtd。???
??????1、在Spring的xml配置文件中加入新的schema:
<
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"
????default-autowire
="byName"
?default-lazy-init
="true"
>
?????? 2、“如果使用Java 5的話,推薦使用Spring提供的@AspectJ切面支持,通過(guò)這種方式聲明Spring AOP中使用的切面。 "@AspectJ"使用了Java 5的注解,可以將切面聲明為普通的Java類。”——Spring reference
??????3、為了使用AOP的Annotation,在配置文件中加入<aop:aspectj-autoproxy />。
??????4、編寫(xiě)切面類:
@Aspect
public
?
class
?ArticleRemoteAccountsService?
{
?
????
/**?*/
/**
?????*?在發(fā)帖成功之后,給用戶銀幣賬戶沖值
?????*?
?????*?
@param
?arg
?????*?
@throws
?AccountsException
?????*?
@throws
?InstantiationException
?????*?
@throws
?IllegalAccessException
?????
*/
????@After(
"
execution(*?com.company.ArticleManager.saveArticle(..))
"
????????????
+
?
"
?&&?args(arg)
"
)
????
public
?
void
?exSilByPost(Article?arg)?
throws
?AccountsException,
????????????InstantiationException,?IllegalAccessException?
{
????????
if
?(arg.getLastUpdateTime()?
==
?
null
????????????????
&&
?arg.getArticleByParentId()?
==
?
null
????????????????
&&
?arg.getArticleByRootId()?
==
?
null
)?
{
????????????
//
?TODO 主題帖
????????}
?
else
?
if
?(arg.getLastUpdateTime()?
==
?
null
????????????????
&&
?(arg.getArticleByParentId()?
!=
?
null
?
||
?arg
????????????????????????.getArticleByRootId()?
!=
?
null
))?
{
????????????
//
?TODO? 回帖
????????}
????}
}
這里需要注意的是使用Annotation的Poincut語(yǔ)法,
execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern)
throws
-pattern?)
這里就不累訴了。
同時(shí)要注意的如何得到參數(shù)的問(wèn)題,寫(xiě)法參考如上。
posted on 2006-10-20 11:02
旱頭憨腦
閱讀(974)
評(píng)論(0)
編輯
收藏
所屬分類:
j2ee
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
相關(guān)文章:
Javascript cookie操作攻略
Spring2.0 AOP 心得(二)
Spring2.0 AOP使用心得(一)
Tomcat中,UTF-8 URL提交參數(shù)中文解決終極方案
Struts中不限個(gè)數(shù)上傳文件的實(shí)現(xiàn)方案
Spring2.0 新特性之Bean新增范圍session, request, global session
旱頭憨腦
lanluquan
導(dǎo)航
BlogJava
首頁(yè)
新隨筆
聯(lián)系
聚合
管理
統(tǒng)計(jì)
隨筆 - 1
文章 - 10
評(píng)論 - 1
引用 - 0
常用鏈接
我的隨筆
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(1)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆檔案
■
2006年10月 (1)
文章分類
■
ajax(1)
(rss)
■
j2ee(7)
(rss)
■
java
(rss)
■
ruby(1)
(rss)
■
非技術(shù)(1)
(rss)
文章檔案
■
2008年6月 (1)
■
2007年9月 (1)
■
2007年7月 (1)
■
2006年10月 (4)
■
2006年9月 (1)
■
2006年8月 (2)
搜索
最新評(píng)論
1.?re: Hibernate3 父子映射報(bào)錯(cuò):illegal access to loading collection
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--d
Powered by:
BlogJava
Copyright © 旱頭憨腦
主站蜘蛛池模板:
免费一级毛片在线播放不收费
|
国产亚洲中文日本不卡二区
|
国产国产人免费视频成69大陆
|
亚洲免费视频网站
|
精品久久久久久亚洲综合网
|
亚洲一级片在线播放
|
亚洲AV无码一区二区三区系列
|
亚洲国产av一区二区三区
|
妞干网在线免费观看
|
2021在线观看视频精品免费
|
中文字幕无码毛片免费看
|
在线观看亚洲网站
|
亚洲精品蜜夜内射
|
亚洲国产成人精品激情
|
亚洲高清免费在线观看
|
亚洲AV福利天堂一区二区三
|
久久青青成人亚洲精品
|
亚洲精品无码99在线观看
|
国产18禁黄网站免费观看
|
国产成人免费高清激情视频
|
国内精自视频品线六区免费
|
精品一区二区三区免费毛片爱
|
国精产品一区一区三区免费视频
|
特级毛片在线大全免费播放
|
黄页网址在线免费观看
|
久久久久久亚洲av无码蜜芽
|
亚洲人成无码网站在线观看
|
国产成人免费高清在线观看
|
亚洲精品无码国产片
|
亚洲AV成人噜噜无码网站
|
亚洲av成人综合网
|
99999久久久久久亚洲
|
亚洲人成网男女大片在线播放
|
91手机看片国产永久免费
|
**毛片免费观看久久精品
|
1000部拍拍拍18勿入免费视频下载
|
色噜噜噜噜亚洲第一
|
直接进入免费看黄的网站
|
无套内射无矿码免费看黄
|
国产免费内射又粗又爽密桃视频
|
国产黄在线观看免费观看不卡
|