最近要找工作,没办法啊,要把以前学的知识都要翻出来看看,复习一下,哎,为了工作啊
以前记得spring笔记,估计只有我自己才能看的懂啊
Spring
ejb重量级,spring轻量级
首先为什么要使用spring
1.IOC,最核心的,对象之间的关系。
大量的singleton,aop,面向切面的编程,Filter,拦截器。
2.轻量级,可以对普通的pojo提供这个服务
3.和一些web框架进行结合,hibernate中session的管理,事务交给spring管理,对象之间的装配也交给spring管理,
spring是个应用级别的框架,大杂烩。
IOC,管理对象,对象的依赖关系,对象的创建过程
IOC带来的好处,是个大型的工厂,可以创建很多类,层次更加分明,灵活性比较好,通过配置,配置集中,防止了factory和singleton的创建
spring配置比较灵活
AOP早就有了,提供了声明式服务
是有jdk的动态代理实现的,
代理(有一个实现接口的类)的静态代理和(jdk)动态代理
横切性问题(事务,安全性检查,日志的记录)
方法时横切性关注点 (检查安全性)
模块化
AOP是OO的一种补充,像一些横切性问题
AOP术语:
横切性关注点Cross cutting concern 检查安全性
横切关注点模块化的类称为切面 Aspect SecurityHandler
Advice是横切关注点的实现,对应的就是我们检查安全性,checkSecurity
Before Advice,After Advice
Pointcut切入点 (add*)
weave织入
JoinPoint连接点,将切面用到那里去 addUser(...),在spring值支持基于方法的连接点
Target Object
Proxy
Introduction
Aop Annotation
/**
* 定义Aspect
* @author Administrator
*
*/
@Aspect
public class SecurityHandler {
/**
* 定义Pointcut,Pointcut的名称就是allAddMethod,此方法不能有返
回值和参数,该方法只是一个
* 标识
*
* Pointcut的内容是一个表达式,描述那些对象的那些方法(订阅
Joinpoint)
*/
@Pointcut("execution(* add*(..)) || execution(* del*(..))")
private void allAddMethod(){};
/**
* 定义Advice,标识在那个切入点何处织入此方法
*/
@Before("allAddMethod()")
private void checkSecurity() {
System.out.println("----------checkSecurity()---------------");
}
<aop:aspectj-autoproxy/>
开启annotation的支持
(1) 采用Aspect定义切面
(2) 在Aspect定义Pointcut和Advice
(3) 启用AspectJ对Annotation的支持并且将Aspect类和目标对象配置到Ioc容器
中
注意:在这种方法的定义中,切入点的方法时不被执行的,他存在的木钉仅仅是为
了重用切入点 即Advice中通过方法引用这个切入点
AOP 术语
* Cross cutting concern
* Aspect
* Advice
* Pointcut
* Joinpoint
* Weave
* Target Object
* Proxy
* Introduction
分享到:
相关推荐
**Spring AOP 知识点详解** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的重要组成部分,它允许程序员定义“切面”,这些切面可以封装跨越多个对象的行为,比如日志、事务管理等。AOP...
1. **Spring AOP(面向切面编程)** - AOP是Spring框架的核心特性之一,它允许开发者将关注点分离,将横切关注点(如日志、事务管理)从核心业务逻辑中解耦。AOP通过集中实现这些"方面"的代码,提高了系统的可维护...
### Spring学习复习资料知识点梳理 #### 一、Spring框架概览 - **Spring** 是一个分层的全栈(Full-stack)轻量级开源框架,其核心思想是 IoC(Inversion of Control,控制反转) 和 AOP(Aspect Oriented ...
1. **AOP(面向切面编程)**:AOP是Spring框架的核心特性之一,它允许程序员将关注点分离,将横切关注点(如日志、事务管理等)从核心业务逻辑中解耦。AOP通过定义切入点(pointcut)和通知(advice)来实现。选项中...
1. **AOP(面向切面编程)** - AOP是一种编程范式,用于将关注点分离,比如日志记录、事务管理等,这些关注点被称为“方面”。Spring框架提供了AOP支持,可以将这些分散的代码集中实现,提高系统的可维护性和模块化...
1. **Spring AOP(面向切面编程)** - AOP是Spring框架的核心特性之一,它允许开发者将关注点分离,将横切关注点(如日志、事务管理)从核心业务逻辑中解耦出来。AOP通过集中实现"方面"的代码,提高了系统的可维护...
**hibernate+spring复习大纲** 在Java Web开发领域,Hibernate和Spring是两个至关重要的框架。Hibernate是一个对象关系映射(ORM)框架,它简化了数据库操作,而Spring则是一个全面的企业级应用框架,提供了依赖...
1. **AOP(面向切面编程)**: - AOP允许开发者将分散在系统各处的横切关注点(如日志、事务管理)集中实现,提高代码的可维护性。 - 它不是面向对象设计模式的替代品,而是补充,可以帮助处理系统中的交叉关注点...
1. **AOP(面向切面编程)** - AOP是一种编程范式,用于将关注点分离,比如日志记录、安全性、事务管理等,这些被称为“方面”。Spring框架提供了AOP支持,允许开发者将这些通用任务集中实现,提高代码的可维护性和...
1. **Spring核心特性** - **依赖注入(Dependency Injection, DI)**:Spring通过DI来管理对象的创建和对象之间的关系,使得代码更加灵活,易于测试。 - **面向切面编程(Aspect-Oriented Programming, AOP)**:...
Java 框架 Spring2 复习题 一、选择题解析 1. 关于 AOP 的说法错误的是( )。 正确答案:C.AOP 已经表现出了将要替代面向对象的趋势 解释:AOP(Aspect-Oriented Programming)是一种编程范式,它是面向对象...
1. **依赖注入(Dependency Injection, DI)**:这是Spring框架的核心功能,通过DI,对象之间的耦合度降低,使得代码更易于测试和维护。Spring允许开发者声明外部依赖,容器负责创建和组装对象,管理它们的生命周期。 ...
3. 集成了 Spring 框架,便于事务管理、AOP、依赖注入等。 4. 有丰富的注解支持,简化代码编写。 5. 支持 RESTful 风格的接口设计,利于服务化。 **总结** Spring MVC 是 Spring 框架的重要组成部分,提供了强大的...
pdf文档包括如下知识: 1.spring介绍 2.spring搭建 3.spring中的概念 4.配置文件详解 5.Bean的创建方式 6.注入方式 7.复杂属性注入 8.在WEB环境中使用Spring容器 9.注解代替xml配置 10. spring AOP开发 等等。
内容概要:本文详细介绍了MyBatis和Spring框架的关键技术和使用方法,主要包括MyBatis的工作原理、核心配置、动态SQL、关联映射、缓存机制及注解开发,Spring框架的定义、优点、核心模块、IoC和AOP的设计理念、Bean...
1. **Spring概述**:讲解Spring的基本概念,包括它的设计理念和主要模块,以及如何在项目中引入Spring框架。 2. **IoC容器**:详述Spring的核心——IoC容器,包括Bean的生命周期管理、Bean的定义与实例化、Bean的...
Spring Boot 复习总结 本文将对 Spring Boot 的相关知识点进行总结,涵盖了面向切面编程、事件机制、任务执行器、计划任务、条件注解、组合注解、元注解、SSE 服务端发送事件、@SpringBootApplication 注解、配置...