[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),以及对象从创建到销毁的整个生命周期.也就是管 ...
随机推荐
- 【Java】Eclipse代码格式化-代码模板
Eclipse代码格式化-代码模板 eclipse 代码模板_百度搜索 编码规范系列(一):Eclipse Code Templates设置 - 青葱岁月 - ITeye博客 善用Eclipse的代码 ...
- spark0.8.0安装与学习
spark0.8.0安装与学习 原文地址:http://www.yanjiuyanjiu.com/blog/20131017/ 环境:CentOS 6.4, Hadoop 1.1.2, J ...
- XenServer修改DNS
XenServer没法直接修改DNS,感觉好奇怪啊 修改方法: 1.进入命令行: 2.执行命令: # xe pif-list 列出网卡的UUID. 3.执行命令: # xe p ...
- Android Studio:xxx is not an enclosing class 错误的解决方法
Android Studio:xxx is not an enclosing class 错误的解决方法 这个问题一般出现在内部类中,若要创建内部类的实例,需要有外部类的实例才行,或者是将内部类设置为 ...
- Mybatis源码分析之SqlSessionFactory(一)
简介 MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBa ...
- Selenium2(WebDriver)总结(四)---基本元素操作
WebDriver提供了常用的WEB控件的操作方法,比如:按钮.输入框.超链接等,废话不多说,直接上代码: import org.openqa.selenium.By; import org.open ...
- C++ 第九课 标准c数学函数
abs() 求绝对值 acos() 求反余弦 asin() 求反正弦 atan() 求反正切 atan2() 求反正切,按符号判定象限 ceil() 求不小于某值的最小整数 (求上界) cos() 求 ...
- spring mvc mongoDb
http://www.cnblogs.com/dennisit/p/3372568.html 系统环境: 操作系统: windows xp 数 据 库: mongodb2.0.6 驱 动 包: S ...
- mahout做推荐时uid,pid为string类型
很幸运找到这篇文件,解了燃眉之急. http://blog.csdn.net/pan12jian/article/details/38703569 mahout做推荐的输入只能是long类型,但在某些 ...
- 你如何获取浏览器URL中查询字符串中的参数?
测试地址为:http://www.runoob.com/jquery/misc-trim.html?channelid=12333&name=xiaoming&age=23 实例如下: ...