[Spring学习笔记 5 ] Spring AOP 详解1
知识点回顾:
一、IOC容器---DI依赖注入:setter注入(属性注入)/构造子注入/字段注入(注解 )/接口注入 out
Spring IOC容器的使用:
A、完全使用XML文件来配置容器所要管理的业务组件及相互依赖关系 。<bean><property></bean>
B、使用xml来配置Bean,用注解(@Autowired @Resource)来配置依赖。<context:annotation-config/>
C、完全使用注解 <context:component-scan base-package="com.lspring.annotation2,com.lspring.annotation3"></context:component-scan>
@Service,@Controller,@Component,@Repository,有些标签,则会把其放到容器中,@Autowired @Resource表示依赖关系
Spring 容器其特性:
A:value属性处理。注册自定义的类型。
B:容器扩展,容器的扩展点.beanfactorypostprocessor,属性文件加载。${db.ur}
C:factoryBean,工厂Bean,专用来生产各种产品的Bean.getObject().
D:使用c,p命名空间简化配置。1
二、AOP功能,面向切面的编程,应用场景:
在java实现AOP原理:代理模式的应用。
对接口进行代理用JDK动态代理,Proxy.newProxyInstance(),对类的代理用第三方框架。
Hibernate中的代理:
Person p = session.load(Person.class,1);
p.getClass();//javaasist
新知识点:
一、Spring中的AOP详解(1):
1.概念方面介绍:
Aspect(切面):是通知和切入点的结合,通知和切入点共同定义了关于切面的全部内容---它的功能、在何时何地完成其功能??
joinpoint(连接点):是切入切面代码的某一个点,Spring只支持方法连接点,不支持字段或者其他连接点。PersonService.addPerson()方法之前。
切入点:指一堆连接点的集合
,比如所有名字为add*的方法之前。有一种表达式语言,Spring使用AspectJ的的切入点描述语法。有点类似于正则表达式。execution(*com.lspring);
Advice(通知/建议):指连接点(切入点)的什么位置做什么事情(切面的代码)?
Target:目标对象,对哪个对象进入切入其它方面的代码。
weaving(织入):把几个切面的代码切入核心业务组件的过程。静态织入,(aspect)只编译的时候就织入(支持AOP的编译器)。
动态强化:编译使用普通的java编译器,在运行的时候通过代理来进行织入
静态织入的效率要比动态强化的效率。
Introduction(引入):在修改代码的情况下,给一个已经存在的业务组件添加一些方法
2.基本应用
(1)首先加入 命名空间
location
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd"
[Spring学习笔记 5 ] Spring AOP 详解1的更多相关文章
- Spring学习(八)AOP详解
文章更新时间:2020/04/06 一.一个例子 在上面的例子中,包租婆的核心业务就是签合同,收房租,那么这就够了,灰色框起来的部分都是重复且边缘的事,交给中介商就好了,这就是 AOP 的一个思想:让 ...
- Spring全家桶——SpringBoot之AOP详解
Spring全家桶--SpringBoot之AOP详解 面向方面编程(AOP)通过提供另一种思考程序结构的方式来补充面向对象编程(OOP). OOP中模块化的关键单元是类,而在AOP中,模块化单元是方 ...
- IP2——IP地址和子网划分学习笔记之《子网掩码详解》
2018-05-04 16:21:21 在学习掌握了前面的<进制计数><IP地址详解>这两部分知识后,要学习子网划分,首先就要必须知道子网掩码,只有掌握了子网掩码这部分内容 ...
- spring学习笔记(一) Spring概述
博主Spring学习笔记整理大部分内容来自Spring实战(第四版)这本书. 强烈建议新手购入或者需要电子书的留言. 在学习Spring之前,我们要了解这么几个问题:什么是Spring?Spring ...
- Java架构师之路 Spring学习笔记(一) Spring介绍
前言 这是一篇原创的Spring学习笔记.主要记录我学习Spring4.0的过程.本人有四年的Java Web开发经验,最近在面试中遇到面试官总会问一些简单但我不会的Java问题,让我觉得有必要重新审 ...
- [Spring学习笔记 1 ] Spring 简介,初步知识--Ioc容器详解 基本原理。
一.Spring Ioc容器详解(1) 20131105 1.一切都是Bean Bean可是一个字符串或者是数字,一般是一些业务组件. 粒度一般比较粗. 2.Bean的名称 xml配置文件中,id属性 ...
- Spring学习笔记IOC与AOP实例
Spring框架核心由两部分组成: 第一部分是反向控制(IOC),也叫依赖注入(DI); 控制反转(依赖注入)的主要内容是指:只描述程序中对象的被创建方式但不显示的创建对象.在以XML语言描述的配置文 ...
- MyBatis学习笔记2--配置环境详解
1.MyBatis-config.xml详解 一个完整的配置文件如下所示 <configuration> <!-- <properties resource="jdb ...
- Spring 学习笔记(2) Spring Bean
一.IoC 容器 IoC 容器是 Spring 的核心,Spring 通过 IoC 容器来管理对象的实例化和初始化(这些对象就是 Spring Bean),以及对象从创建到销毁的整个生命周期.也就是管 ...
随机推荐
- JS中三目运算符和if else的区别,你弄得明白吗
今天写了一个图片轮播的小demo,用到了判断 先试了一下if else,代码如下: if(n >= count-1){ n =0; }else{ n ++; } 随后代码写完了,准备优化 ...
- ML&DL视频教程资源
作者:Bruce链接:https://www.zhihu.com/question/49909565/answer/345894856来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...
- PowerShell获取当前用户的权限
function Get-CurrentUserRoles { $SecurityPrinciple = New-Object -TypeName System.Security.Princi ...
- 微信、支付宝App支付-JPay0.0.2发布
JPay 对微信App支付.支付宝App支付的二次封装,对外提供一个相对简单的接口以及支付结果的回调 GitHub:https://github.com/Javen205/JPay OsChina:h ...
- 谷哥的小弟学前端(10)——JavaScript基础知识(1)
探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 具体解释Android主流框架不可或缺的基石 站在源代码的肩膀上全解Scroller工作机制 Android多分辨率适 ...
- mycat 不得不说的缘分
.尾声.左兄与任正非.leader-us与马云 新成立的公司里面.有个左兄,非常传奇,大一在大学入伍,然后复员专业.来上海学IT.年纪轻轻,睡在地铁站,苦心专研数据库.系统.中间件,如今已经成为了业界 ...
- C# list与数组互相转换
1,从System.String[]转到List<System.String>System.String[] str={"str","string" ...
- C#通过代码调用PowerShell
var userId = "MyAccount@XXXXX.partner.onmschina.cn"; var tenantId = "XXXXX-ca13-4bcb- ...
- adb remount 失败:remount failed: Operation not permitted
adb remount 失败:remount failed: Operation not permitted 关于ADB的使用,这里再说明下:经常使用命令 adb shell - 登录设备sh ...
- Jsp重定向(response.sendRedirect())和转发(request.getRequestDispatcher().forward(request,r)的差别
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...