[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"
最新文章
- win7系统的右键菜单只显示一个白色框不显示菜单项 解决办法
- JavaScript函数柯里化
- Spring mvc中@RequestMapping 6个基本用法小结(转载)
- 关于WPF的退出
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- Sqoop导入mysql数据到Hbase
- DPdao
- Java批量生成Mac地址到文件
- JSON 数据使用
- Mac下MySQL的安装与配置
- URL中“#”
- 1. Java Static和Final使用总结
- 2.java.util.logging.Logger使用详解
- 利用android studio 生成 JNI需要的动态库so文件
- 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(1)- 环境搭建(Python2.7.14 + PyAudio0.2.11 + Matplotlib2.2.3 + SpeechRecognition3.8.1 + pyttsx3 2.7)
- Jenkins持续集成实践之java项目自动化部署
- 【开讲啦】20181029 oracle教学笔记
- JdbcTemplate的运用 (也是数据源的一种)
- HW2018校招研发笔试编程题
- json 2017-04-21 10 17