第五章 面向切面编程(AOP)之二

第五章 面向切面编程(AOP)之二

大家好,又见面了,我是全栈君。

        上一次在第五章中简单的介绍了一下
 AOP
中几个常用的功能,现在我想通过实际的例子来说明它强大的功能,这些例子是项目中实际用到的,而不是一些没有使用价值的例子。我会介绍它在一个完整的系统中用到的地方,有日志处理,异常处理,事物处理,身份验证(权限控制),缓存机制(二级缓存)。这应该是aop最拿手的了。我会通过写一个很小的
Demo
把这些功能全部容纳进去。

     在你的系统中能否充分发挥aop的作用,一定要保证你的系统要有良好的架构设计和良好的代码编程,我们知道在spring中提倡面向接口和使用代理的编程思想.如果没有好的设计架构和良好的代码编程。即使用上了aop 在性能上也会受影响的。我们知道系统中任何一个环节都很重要。一个环节出问题,可能就会影响到整体的性能。这是我们最难做到的,做到十全十美。在做之前一定要有一个比较完美的解决方案。
   接下来我将通过写一个简单的系统,系统的简单描述,不同身份登陆到系统可以执行不同的操作,普通用户可以浏览信息,一般用户可以添加信息,高级用户可以执行所有的操作。就是一个简单的新闻发布系统的简单后台管理。我主要是把aop的几种常用的功能集成到系统中。这个系统的功能比较简单,但业务的需求还是可以用到上面提到的几种功能的。
   我们简单的介绍一下流程。
   普通用户登录后,只能看到最新的新闻信息。不能执行其他任何操作。同时要通过日志记录最近的登陆的用户。
   一般用户,也就是编辑,他们进去后可以添加新闻,修改新闻。但不能删除新闻,系统也要对他们的操作进行记录。
  最后就是管理员(高级用户),可以删除一系列的操作了。同时也记录信息。在删除时一定要加上事务处理,以防数据意外丢失。
  他们登陆之前都要进行身份验证。对访问比较频繁的页面要实行缓存策略。这样才能保证系统的更好的运行。这几个简单的操作已经把我们提到的几个功能都用到了,下面就看你如何集成到你的业务中去,如何用代码来写了。同时也要考虑到性能的问题。
   现在我先把工程搭建一下。用struts+spring+hiberante技术来实现。数据库用MySql.日志记录用常用的log4j,安全框架用acegi,缓存用EHCache.事务就用spring自带的了。
 我们的需求分析完了,再看看技术框架如何搭建。如下图。
第五章 面向切面编程(AOP)之二
  下面是工程目录的搭建。如下图。我以后用到那部分我会在详解的讲解。
  
第五章 面向切面编程(AOP)之二
   今天先写到这.










本文转自 weijie@java 51CTO博客,原文链接:http://blog.51cto.com/weijie/66472,如需转载请自行联系原作者
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107947.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • keyboard free download_Row five

    keyboard free download_Row five题目描述:Givenabinarytree,determineifitisheight-balanced.Forthisproblem,aheight-balancedb

    2022年8月4日
    8
  • pycharm调整字体大小快捷键_调整字体大小在哪里

    pycharm调整字体大小快捷键_调整字体大小在哪里这个方法是最好的:https://blog.csdn.net/awyyauqpmy/article/details/79334496?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

    2022年8月25日
    8
  • TCPIP协议

    TCPIP协议TCP/IP协议1.链路层:数据链路层或网络接口层(网络接口层和硬件层),通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。处理与电缆(或其他任何传输媒介)的物理接口细节。转换IP层和网络接口层使用的地址。2.网络层:处理分组在网络中的活动,例如分组的选路。IP是一种网络层协议,提供的是一种不可靠的服务,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。…

    2022年6月25日
    46
  • 总结Redis一些使用

    总结Redis一些使用

    2021年7月12日
    72
  • Visual Studio无法打开源文件的问题

    Visual Studio无法打开源文件的问题如果你项目配置好了,添加了头文件和库文件,编译还是无法查找源文件,那有可能是你解决方案配置里选到了Debug,切换为release才能成功。

    2022年6月18日
    377
  • 用计算机制作flash动画教案,Flash动画制作教案

    用计算机制作flash动画教案,Flash动画制作教案以下是出国留学网小编整理的高中信息技术《Flash动画制作》教案,供大家浏览参考。更多相关内容请关注出国留学网教案栏目。高中信息技术《Flash动画制作》教案一:课题:Flash动画制作——绘制七巧板教学目标:熟悉Flash软件的操作界面运用Flash软件绘制七巧板教学重点:绘制七巧板教学难点:如何选用合适的工具正确绘制七巧板教学方法:讲授法,演示法教学过程:一:打开Flash软件“开始”菜单―…

    2022年4月29日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号