Jboss Aop学习 顶者有分!

zhaofeng987 2009-08-08 12:35:42
有谁学过Jboss Aop?给大家分享一下经验……,最好列举一个实用的例子,比如说Aop在权限方面或其它方面的应用…… 顶者有分!
...全文
255 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
actor_3348 2009-08-29
  • 打赏
  • 举报
回复
我来就是顶你的
无敌少年 2009-08-29
  • 打赏
  • 举报
回复
我也顶一个
l_wenb 2009-08-27
  • 打赏
  • 举报
回复
那就顶一个!!
jndszl 2009-08-27
  • 打赏
  • 举报
回复
up
Betterjava 2009-08-27
  • 打赏
  • 举报
回复
现在正想学Jboss呢 来学习学习
XGJ889 2009-08-27
  • 打赏
  • 举报
回复
tobylxy 2009-08-27
  • 打赏
  • 举报
回复
没有用过,我帮顶,看有人讲解不!!!
hjy273 2009-08-24
  • 打赏
  • 举报
回复
google一下,学习资料应该很多。
Heavenlost 2009-08-23
  • 打赏
  • 举报
回复
顶,最近正在学习中
无·法 2009-08-23
  • 打赏
  • 举报
回复
顶楼主一下
智扬信达 2009-08-19
  • 打赏
  • 举报
回复
顶起
  • 打赏
  • 举报
回复
横切关注点(Cross-cutting Concerns)
很多时候你发现你的类并不能十分清晰和明白的表到你所想表达的功能意义,因为你真正的代码大多被其它代码所包围了。如果你想很好的扩展或集成你所想表达的功能意义,你最好就用方面的思想来考虑它了。

开发中的分层(Layering Based on Deployment)
AOP另外一个很有用的地方就是可以用来为你的应用程序分层。很多时候你希望的一些特殊应用或类是可以很好的配置的,但同时也希望这些东西是不臃肿和可以扩展的。AOP提供了很好的途径来分层这些复杂的东西。JBOSS AOP提供了XML配置的机制来配置每个方面的开发。最好的例子就是缓存服务,它提供了不同的锁机制。这些缓存锁机制可以很好的织入你的内,而不影响你的类的代码,这样你的类就是很好的扩展性了。

透明性(Transparency)
很多时候你都想把你的程序的焦点集中在商务应用和应用逻辑上,而不是关注于中间件的开发。AOP允许你透明的应用中间件而不再使你的代码收到污染。一个很好的例子就是JBOSS AOP中的用户认证上面。


异常处理
处理异常是AOP提供给我们另外一个很有用的东西。例如,SQLException异常包含了SQL语句的 异常信息或者数据库的死锁等信息,但这些信息却使用不同错误代码和信息。AOP可以让你拦截SQL语句信息,并分类处理数据库死锁信息。

public class InvalidSQlException extends SQLException
{
InvalidSQLException(SQLException ex)
{
super(ex.getMessage(), ex.getSQLState(), ex.getErrorCode());
}
}



使用的方面
public class SQLExceptionAspect
{
public Object handleSqlException(Invocation invocation) throws Throwable
{
try
{
return invocation.invokeNext();
}
catch (SQLException ex)
{
if (isVendorInvalidSqlErrorCode(ex.getErrorCode())) throw new InvalidSQLException(ex);
if (isVendorDeadlockErrorCode(ex.getErrorCode()) throw new SQLDeadlockException(ex);
... and so on ...
}
}
... impl of isVendor methods ...
}

使用的配置
<aspect class="SQLExceptionAspect" scope="PER_VM"/>
<bind pointcut="call(* $instanceof{java.sql.Statement}->execute*(..))">
<advice name="handleSqlException" aspect="SQLExceptionAspect"/>
</bind>
sandyfish 2009-08-17
  • 打赏
  • 举报
回复
绝对顶
joelyang 2009-08-17
  • 打赏
  • 举报
回复
学习中。。。
泥团 2009-08-10
  • 打赏
  • 举报
回复
顶起
xiaoyupingan 2009-08-10
  • 打赏
  • 举报
回复
ding
starc 2009-08-09
  • 打赏
  • 举报
回复
水泥地
starc 2009-08-09
  • 打赏
  • 举报
回复
板凳
starc 2009-08-09
  • 打赏
  • 举报
回复
沙发
feidegenggao1 2009-08-09
  • 打赏
  • 举报
回复
dingding

6,786

社区成员

发帖
与我相关
我的任务
社区描述
JBoss技术交流
社区管理员
  • JBoss技术交流社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧