隨筆:15 文章:206 評(píng)論:35 引用:0
fenglin
創(chuàng)新、創(chuàng)意、挑戰(zhàn)
C++博客
首頁(yè)
發(fā)新隨筆
發(fā)新文章
聯(lián)系
聚合
管理
Spring3_動(dòng)態(tài)代理_AOP_XML配置方法
有時(shí)使用的是第三方切面類邏輯(沒(méi)有源碼),這樣就只能使用XML配置方法。
LogInterception.java
package
com.bebig.aop;
public
class
LogInterception
{
public
void
before()
{
System.out.println(
"
Log start
"
);
}
public
void
myMethod()
{
}
;
}
UserDAO.java
package
com.bebig.dao;
import
com.bebig.model.User;
public
interface
UserDAO
{
public
void
save(User u);
public
void
deleteById(
int
id);
}
UserDAOImpl.java
package
com.bebig.dao.impl;
import
org.springframework.stereotype.Repository;
import
com.bebig.dao.UserDAO;
import
com.bebig.model.User;
@Repository
public
class
UserDAOImpl
implements
UserDAO
{
@Override
public
void
save(User u)
{
System.out.println(
"
a user saved!
"
);
}
@Override
public
void
deleteById(
int
id)
{
System.out.println(
"
delete a user by id!
"
);
}
}
User.java
package
com.bebig.model;
public
class
User
{
private
String username;
private
String password;
public
String getPassword()
{
return
password;
}
public
String getUsername()
{
return
username;
}
public
void
setPassword(String password)
{
this
.password
=
password;
}
public
void
setUsername(String username)
{
this
.username
=
username;
}
}
UserService.java
package
com.bebig.service;
import
javax.annotation.Resource;
import
org.springframework.stereotype.Service;
import
com.bebig.dao.UserDAO;
import
com.bebig.model.User;
@Service(
"
userService
"
)
public
class
UserService
{
private
UserDAO userDAO;
public
void
add(User u)
{
userDAO.save(u);
}
public
void
deleteById(
int
id)
{
userDAO.deleteById(id);
}
@Resource
public
void
setUserDAO(UserDAO userDAO)
{
this
.userDAO
=
userDAO;
}
public
UserDAO getUserDAO()
{
return
userDAO;
}
public
void
init()
{
System.out.println(
"
init.
"
);
}
public
void
destory()
{
System.out.println(
"
destory.
"
);
}
}
beans.xml
<?
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:context
="http://www.springframework.org/schema/context"
xmlns:aop
="http://www.springframework.org/schema/aop"
xsi:schemaLocation
="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"
>
<!--
a service object; we will be profiling its methods
-->
<
context:annotation-config
/>
<
context:component-scan
base-package
="com.bebig"
/>
<!--
切面類
-->
<
bean
id
="logInterceptor"
class
="com.bebig.aop.LogInterception"
></
bean
>
<
aop:config
>
<!--
全局切點(diǎn)
-->
<
aop:pointcut
expression
="within(com.bebig.service..*)"
id
="servicePointcut"
/>
<!--
切面
-->
<
aop:aspect
id
="serviceAspect"
ref
="logInterceptor"
>
<!--
執(zhí)行的切面方法
-->
<
aop:before
method
="before"
pointcut-ref
="servicePointcut"
/>
</
aop:aspect
>
</
aop:config
>
</
beans
>
UserServiceTest.java(測(cè)試用例)
package
com.bebig.service;
import
org.junit.Test;
import
org.springframework.context.support.ClassPathXmlApplicationContext;
import
com.bebig.model.User;
public
class
UserServiceTest
{
@Test
public
void
testAdd()
throws
Exception
{
ClassPathXmlApplicationContext cxt
=
new
ClassPathXmlApplicationContext(
"
beans.xml
"
);
//
不再需要使用Proxy對(duì)象來(lái)創(chuàng)建代理對(duì)象
UserService service
=
(UserService) cxt.getBean(
"
userService
"
);
service.add(
new
User());
service.deleteById(
1
);
}
}
發(fā)表于 2010-10-19 18:03
風(fēng)林
閱讀(2736)
評(píng)論(0)
編輯
收藏
引用
所屬分類:
JAVA
、
Spring
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
[轉(zhuǎn)]java編程中'為了性能'一些盡量做到的地方
JAVAC命令行錯(cuò)誤
Java基礎(chǔ)_Collection接口下的子類存儲(chǔ)特性
Android_常用控件使用
Android_Activity&Intent&Layout
Integer自動(dòng)裝箱、拆箱問(wèn)題
自定義比較器、排序
JDBC操作實(shí)例
常用數(shù)據(jù)庫(kù)的JDBC連接代碼
[轉(zhuǎn)]J2SE_內(nèi)部類
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
CALENDER
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類
jBPM
(rss)
隨筆檔案
2011年7月 (1)
2011年4月 (1)
2011年2月 (1)
2010年11月 (1)
2010年10月 (2)
2010年9月 (3)
2010年8月 (4)
2010年7月 (2)
文章分類
AJAX(2)
(rss)
Android(2)
(rss)
C#(20)
(rss)
C++(6)
(rss)
ckeditor&ckfinder(1)
(rss)
CSS
(rss)
Delphi(2)
(rss)
Hibernate(39)
(rss)
JAVA(95)
(rss)
jQuery(1)
(rss)
JSP(9)
(rss)
Maven(1)
(rss)
MySQL(4)
(rss)
OOP(1)
(rss)
Python(42)
(rss)
Spring(31)
(rss)
SQL Server(4)
(rss)
Struts2(35)
(rss)
SVN(1)
(rss)
Tomcat(1)
(rss)
Ubuntu(1)
(rss)
軟件加解密技術(shù)
(rss)
雜文(1)
(rss)
文章檔案
2011年8月 (1)
2011年7月 (3)
2011年6月 (19)
2011年5月 (2)
2011年4月 (1)
2011年2月 (1)
2010年12月 (2)
2010年11月 (21)
2010年10月 (67)
2010年9月 (48)
2010年8月 (37)
2010年7月 (4)
新聞檔案
2010年7月 (1)
相冊(cè)
CSS
Hibernate
搜索
最新評(píng)論
1.?re: Struts2_三種傳參數(shù)方法
方式的發(fā)生
--阿飛史蒂夫
2.?re: 在Win7上搭建JSP開(kāi)發(fā)環(huán)境
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--鄒
3.?re: ckeditor&ckfinder&s2sh集成
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--庸幾何
4.?re: 在Win7上搭建JSP開(kāi)發(fā)環(huán)境
下個(gè) myeclipse@lou
--孫毅
5.?re: 在Win7上搭建JSP開(kāi)發(fā)環(huán)境
@lou
運(yùn)行 -cmd 找到startup.bat 在java 環(huán)境中運(yùn)行
--孫毅
閱讀排行榜
1.?開(kāi)始找Java開(kāi)發(fā)類工作了(501)
2.?給一家公司的軟件做加密方案(441)
3.?周一到周五都得出差,周末才能回(415)
4.?一流、二流、三流(406)
5.?最近工作有點(diǎn)忙(375)
評(píng)論排行榜
1.?周一到周五都得出差,周末才能回(2)
2.?給力2011(2)
3.?最近工作有點(diǎn)忙(0)
4.?生活(0)
5.?在博客園開(kāi)博了(0)
Powered By:
博客園
模板提供
:
滬江博客
久久99热狠狠色精品一区
|
久久亚洲色一区二区三区
|
国内精品久久久久久久久电影网
|
亚洲欧美国产日韩综合久久
|
久久这里有精品视频
|
久久亚洲中文字幕精品有坂深雪
|
久久国产福利免费
|
模特私拍国产精品久久
|
欧美噜噜久久久XXX
|
久久亚洲国产欧洲精品一
|
一级a性色生活片久久无少妇一级婬片免费放
|
人妻久久久一区二区三区
|
人人狠狠综合久久亚洲88
|
偷窥少妇久久久久久久久
|
777午夜精品久久av蜜臀
|
亚洲乱亚洲乱淫久久
|
亚洲国产精品18久久久久久
|
精品无码久久久久久国产
|
午夜精品久久久久久久
|
欧美精品丝袜久久久中文字幕
|
51久久夜色精品国产
|
久久天天躁狠狠躁夜夜网站
|
人妻系列无码专区久久五月天
|
99久久精品国产高清一区二区
|
国产精品无码久久综合
|
久久久久亚洲AV成人网人人网站
|
久久久无码一区二区三区
|
日韩精品久久久久久久电影
|
韩国三级中文字幕hd久久精品
|
久久久精品国产sm调教网站
|
热久久这里只有精品
|
综合网日日天干夜夜久久
|
欧美一级久久久久久久大片
|
久久91精品国产91久久麻豆
|
精品熟女少妇a∨免费久久
|
久久精品国产99久久久古代
|
久久人人爽人人爽人人av东京热
|
一本久久a久久精品综合香蕉
|
青青热久久国产久精品
|
久久久久国产成人精品亚洲午夜
|
国产精品久久久久一区二区三区
|