Spring AOP Capability and Goal
AOP Capability:
1.Spring声明式事务管理配置。
2.Controller层的参数校验。
3.使用Spring AOP实现MySQL数据库读写分离案例分析
4.在执行方法前,判断是否具有权限。
5.对部分函数的调用进行日志记录。监控部分重要函数,若抛出指定的异常,可以以短信或邮件方式通知相关人员。
6.信息过滤,页面转发等等功能,博主一个人的力量有限,只能列举这么多,欢迎评论区对文章做补充。
Spring AOP 是用纯JAVA 实现的,不需借助JAVA代码在编译处理阶段来实现。Spring 是在运行期实现的。AOP的实现可以在编译,加载,运行三个阶段来实现;Spring AOP 也不需要控制类的装置机制来实现. 它和适合用在servlet 容器和应用程序服务中。Spring AOP 当前仅仅支持方法执行连接点(只对Spring beans 方法的执行进行通知。字段拦截没有被Spring 实现,尽管可以实现对字段的访问进行拦截而不需要破坏核心的Spring AOP 接口。如果你需要字段访问和更新类型的通知那么你可以考虑使用AspectJ 。Spring AOP 和其他大多数AOP 框架比起来还是有所不同的,Spring AOP 的目标不是去提供一个最完整的AOP实现,而是去实现AOP 和Spring IoC 的紧密整合,去帮助企业解决公共的问题。Spring 框架的AOP通常是和Spring Ioc 容器相结合来使用的,切面是通过使用正常的Bean 定义符来配置的 (虽然允许使用强大的 自动代理能力),这是和其他AOP实现比起来最明显的不同之处。
Spring无缝的把Aspectj 和spring 的AOP ,容器进行了整合。为所有AOP的用户提供一致性的应用程序架构(基于Spring 框架),这种整合不影响Spring AOP 的API 和AOP 联盟API,Spring AOP 是向后兼容的 。Spring 框架的核心理念是非侵入,这就是说Spring不会强制性的把和你业务逻辑,领域模型无关的Spring相关的类和接口引入到你的代码中。在某些地方,Spring框架会给你一个选择是否要引入Spring框架依赖到你的代码库中;给你选择的依据是因为在某些场景中你只是为了简单的实现一些功能。不管如何Spring 总是会给你这样子的选择,让你可以做出一个明智的决定,那种方案给适合你当前的使用场景。
比如选择哪种AOP框架,或AOP风格;那么你可以选择AspectJ 或者 Spring AOP ,两个都选Spring 也支持。你可以选择@Aspectj 这种基于注解风格的或者是基于XML配置的方式;
Spring AOP Capability and Goal的更多相关文章
- Spring AOP Capabilities and Goal
Spring AOP是用纯的java实现的.不需要任何个性的实现过程.Spring AOP不需要控制类加载器,并且它适用于Servlet容器或者应用服务器. Spring AOP当前只支持方法执行的连 ...
- spring AOP capbilities and goal
Spring AOP 是用纯JAVA 实现的. 不需借助JAVA代码在编译处理阶段来实现. Spring 是在运行期实现的.AOP的实现可以在编译,加载,运行三个阶段来实现:Spring AOP 也不 ...
- spring AOP Capability and Goals(面向方面编程功能和目标归纳)
原官方文档链接: https://docs.spring.io/spring/docs/5.1.6.RELEASE/spring-framework-reference/core.html#aop-i ...
- 朱晔和你聊Spring系列S1E6:容易犯错的Spring AOP
阅读PDF版本 标题有点标题党了,这里说的容易犯错不是Spring AOP的错,是指使用的时候容易犯错.本文会以一些例子来展开讨论AOP的使用以及使用过程中容易出错的点. 几句话说清楚AOP 有关必要 ...
- 学习AOP之深入一点Spring Aop
上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...
- 学习AOP之认识一下Spring AOP
心碎之事 要说知道AOP这个词倒是很久很久以前了,但是直到今天我也不敢说非常的理解它,其中的各种概念即抽象又太拗口. 在几次面试中都被问及AOP,但是真的没有答上来,或者都在面上,这给面试官的感觉就是 ...
- spring aop
什么是AOP AOP(Aspect-OrientedProgramming,面向方面编程),它利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将 ...
- spring aop注解方式与xml方式配置
注解方式 applicationContext.xml 加入下面配置 <!--Spring Aop 启用自动代理注解 --> <aop:aspectj-autoproxy proxy ...
- 基于Spring AOP的JDK动态代理和CGLIB代理
一.AOP的概念 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的 ...
随机推荐
- Android掌中游斗地主游戏源码完整版
源码大放送-掌中游斗地主(完整版),集合了单机斗地主.网络斗地主.癞子斗地主等,有史以来最有参考价值的源码,虽然运行慢了一点但是功能正常,用的是纯java写的. 项目详细说明:http://andro ...
- how to make a function from using global var to not using it
let say, we want to find the bottom left node in a tree.one way to do it is using global vars: /** * ...
- DROP FUNCTION - 删除一个函数
SYNOPSIS DROP FUNCTION name ( [ type [, ...] ] ) [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP FUNCTION ...
- k8s集群之master节点部署
apiserver的部署 api-server的部署脚本 [root@mast-1 k8s]# cat apiserver.sh #!/bin/bash MASTER_ADDRESS=$1 主节点IP ...
- JavaEE-04 数据源配置
学习要点 JNDI 数据库连接池 完成新闻发布系统数据库连接池 JNDI 说明 JNDI(Java Naming and Directory Interface),中文翻译为Java命名与目录接口,是 ...
- (5) openssl speed(测试算法性能)和openssl rand(生成随机数)
1.1 openssl speed 测试加密算法的性能 支持的算法有: openssl speed [md2] [mdc2] [md5] [hmac] [sha1] [rmd160] [idea-cb ...
- webpack之source map
先来一个webpack小例子,项目结构如下: // greeter.js module.exports = function() { var greet = document.createElemen ...
- ajax 为 select 赋值
html 页面<tr> <td class="dc-form-left">权限组:</td> <td class="dc-for ...
- 一、SQL基础知识点补充
SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL). SQL (结构化查询语言)是用于执行查询的语法.但是 SQL 语言也包含用于更新.插 ...
- Leetcode 241.为运算表达式设计优先级
为运算表达式设计优先级 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果.你需要给出所有可能的组合的结果.有效的运算符号包含 +, - 以及 * . 示例 1: 输 ...