隨筆:15 文章:206 評論:35 引用:0
fenglin
創新、創意、挑戰
C++博客
首頁
發新隨筆
發新文章
聯系
聚合
管理
Spring3_動態代理_AOP_XML配置方法
有時使用的是第三方切面類邏輯(沒有源碼),這樣就只能使用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
>
<!--
全局切點
-->
<
aop:pointcut
expression
="within(com.bebig.service..*)"
id
="servicePointcut"
/>
<!--
切面
-->
<
aop:aspect
id
="serviceAspect"
ref
="logInterceptor"
>
<!--
執行的切面方法
-->
<
aop:before
method
="before"
pointcut-ref
="servicePointcut"
/>
</
aop:aspect
>
</
aop:config
>
</
beans
>
UserServiceTest.java(測試用例)
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對象來創建代理對象
UserService service
=
(UserService) cxt.getBean(
"
userService
"
);
service.add(
new
User());
service.deleteById(
1
);
}
}
發表于 2010-10-19 18:03
風林
閱讀(2750)
評論(0)
編輯
收藏
引用
所屬分類:
JAVA
、
Spring
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
[轉]java編程中'為了性能'一些盡量做到的地方
JAVAC命令行錯誤
Java基礎_Collection接口下的子類存儲特性
Android_常用控件使用
Android_Activity&Intent&Layout
Integer自動裝箱、拆箱問題
自定義比較器、排序
JDBC操作實例
常用數據庫的JDBC連接代碼
[轉]J2SE_內部類
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
CALENDER
<
2025年6月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
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
1
2
3
4
5
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
給我留言
查看公開留言
查看私人留言
隨筆分類
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)
軟件加解密技術
(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)
相冊
CSS
Hibernate
搜索
最新評論
1.?re: Struts2_三種傳參數方法
方式的發生
--阿飛史蒂夫
2.?re: 在Win7上搭建JSP開發環境
評論內容較長,點擊標題查看
--鄒
3.?re: ckeditor&ckfinder&s2sh集成
評論內容較長,點擊標題查看
--庸幾何
4.?re: 在Win7上搭建JSP開發環境
下個 myeclipse@lou
--孫毅
5.?re: 在Win7上搭建JSP開發環境
@lou
運行 -cmd 找到startup.bat 在java 環境中運行
--孫毅
閱讀排行榜
1.?開始找Java開發類工作了(510)
2.?給一家公司的軟件做加密方案(443)
3.?一流、二流、三流(421)
4.?周一到周五都得出差,周末才能回(420)
5.?最近工作有點忙(381)
評論排行榜
1.?周一到周五都得出差,周末才能回(2)
2.?給力2011(2)
3.?最近工作有點忙(0)
4.?生活(0)
5.?在博客園開博了(0)
Powered By:
博客園
模板提供
:
滬江博客
久久亚洲AV成人出白浆无码国产
|
国产精品热久久毛片
|
亚洲国产天堂久久综合网站
|
99久久er这里只有精品18
|
亚洲精品无码久久毛片
|
久久国产欧美日韩精品
|
无码任你躁久久久久久老妇
|
久久婷婷五月综合色奶水99啪
|
韩国无遮挡三级久久
|
伊人久久大香线蕉AV色婷婷色
|
久久精品中文无码资源站
|
日韩一区二区久久久久久
|
波多野结衣中文字幕久久
|
久久天天日天天操综合伊人av
|
精品综合久久久久久97超人
|
久久久久亚洲AV成人网人人网站
|
中文字幕无码免费久久
|
久久99热这里只有精品国产
|
av无码久久久久不卡免费网站
|
狠狠人妻久久久久久综合
|
久久综合久久自在自线精品自
|
中文字幕热久久久久久久
|
精品九九久久国内精品
|
亚洲AV无码久久精品狠狠爱浪潮
|
久久免费视频6
|
欧美伊香蕉久久综合类网站
|
亚洲精品乱码久久久久66
|
午夜精品久久影院蜜桃
|
久久WWW免费人成—看片
|
国产91久久综合
|
国产高潮久久免费观看
|
国产99久久精品一区二区
|
99久久国产精品免费一区二区
|
伊人情人综合成人久久网小说
|
91精品婷婷国产综合久久
|
久久91精品久久91综合
|
99久久99这里只有免费费精品
|
伊人久久大香线蕉综合Av
|
狠狠色综合网站久久久久久久高清
|
青青久久精品国产免费看
|
久久久久国产
|