spring
anjunshuangChina
你能造什么样的火箭,决定你能去拧什么样的螺丝。
展开
-
1.spring的ioc基础
声明:spring系列的文章内容基本来源于“开涛的跟我学系列”,但会对内容和文章中的例子进行新增、修改和删减。DIP:依赖倒置原则转换了依赖,高层模块不依赖于低层模块的实现,而低层模块依赖于高层模块定义的接口。1.ioc是什么inversion of control:控制反转,不是一种技术,而是一种设计思想。在java中,ioc意味着将你设计好的东西交给对象控制,而不是传统的在...转载 2019-08-20 14:29:24 · 90 阅读 · 0 评论 -
14.spring aop之aspect切入点语法详解
1.Spring AOP支持的AspectJ切入点指示符切入点指示符用来指示切入点表达式目的,,在Spring AOP中目前只有执行方法这一个连接点,Spring AOP支持的AspectJ切入点指示符如下:execution:用于匹配方法执行的连接点; within:用于匹配指定类型内的方法执行; this:用于匹配当前AOP代理对象类型的执行方法;注意是AOP代理对象的类型匹配,这...转载 2019-09-02 14:48:12 · 888 阅读 · 0 评论 -
15.spring aop之通知参数
前边章节已经介绍了声明通知,但如果想获取被被通知方法参数并传递给通知方法,该如何实现呢?接下来我们将介绍两种获取通知参数的方式。使用JoinPoint获取:Spring AOP提供使用org.aspectj.lang.JoinPoint类型获取连接点数据,任何通知方法的第一个参数都可以是JoinPoint(环绕通知是ProceedingJoinPoint,JoinPoint子类),当然第一个参...转载 2019-09-02 14:52:04 · 239 阅读 · 0 评论 -
16.spring aop之通知顺序
如果我们有多个通知想要在同一连接点执行,那执行顺序如何确定呢?Spring AOP使用AspectJ的优先级规则来确定通知执行顺序。总共有两种情况:同一切面中通知执行顺序、不同切面中的通知执行顺序。1)同一切面中通知执行顺序前置通知/环绕通知(process方法执行之前) ---执行顺序不确定被通知方法后置通知/环绕通知(process之后) ---执行顺序不确定而如果在同一...转载 2019-09-02 14:52:51 · 167 阅读 · 0 评论 -
17.spring aop之切面实例化模型
所谓切面实例化模型指何时实例化切面。 Spring AOP支持AspectJ的singleton、perthis、pertarget实例化模型(目前不支持percflow、percflowbelow 和pertypewithin)。singleton:即切面只会有一个实例; perthis:每个切入点表达式匹配的连接点对应的AOP对象都会创建一个新切面实例; ...转载 2019-09-02 14:53:48 · 304 阅读 · 0 评论 -
18.spring aop之代理机制
Spring AOP通过代理模式实现,目前支持两种代理:JDK动态代理、CGLIB代理来创建AOP代理,Spring建议优先使用JDK动态代理。JDK动态代理:使用java.lang.reflect.Proxy动态代理实现,即提取目标对象的接口,然后对接口创建AOP代理。 CGLIB代理:CGLIB代理不仅能进行接口代理,也能进行类代理,CGLIB代理需要注意以下问题: 不能通...转载 2019-09-02 14:54:34 · 137 阅读 · 0 评论 -
19.Spring的事务之数据库事务概述
1 数据库事务概述事务首先是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做,这就是事务。事务必需满足ACID(原子性、一致性、隔离性和持久性)特性,缺一不可:原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做; 一致性(Consistency):在事务执行前数据库的数据处于正确的状态...转载 2019-09-02 17:17:27 · 121 阅读 · 0 评论 -
20.Spring的事务之事务管理器
1转载 2019-09-02 17:18:36 · 143 阅读 · 0 评论 -
21.Spring的事务之编程式事务
1转载 2019-09-02 17:19:30 · 101 阅读 · 0 评论 -
22.Spring的事务之声明式事务
1转载 2019-09-02 17:20:35 · 90 阅读 · 0 评论 -
13.spring之基于@AspectJ的AOP
1.启用对@AspectJ的支持spring默认不支持@Aspect风格的切面声明,需要添加如下配置<aop:aspectj-autoproxy/>这样Spring就能发现@AspectJ风格的切面并且将切面应用到目标对象。2.声明切面@AspectJ风格的声明切面非常简单,使用@Aspect注解进行声明:@Aspect() Public clas...转载 2019-09-02 10:30:48 · 129 阅读 · 0 评论 -
12.spring之基于schema的aop
1.基于Schema的AOP基于schema的AOP从spring2.0之后通过命名空间定义切面,切入点及声明通知。在Spring配置文件中,所以AOP相关定义必须放在<aop:config>标签下,该标签下可以有<aop:pointcut>、<aop:advisor>、<aop:aspect>标签,配置顺序不可变。<aop:poi...转载 2019-08-29 11:15:48 · 130 阅读 · 0 评论 -
11.spring之AOP列子
1.定义目标接口public interface HelloWorldService { void sayHello();}2.目标接口实现public class HelloWorldServiceImpl implements HelloWorldService { @Override public void sayHello() { ...转载 2019-08-27 14:26:41 · 189 阅读 · 0 评论 -
2.spring的ioc容器基本原理
1.IoC容器的概念IoC容器就是具有依赖注入功能的容器,IoC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。应用程序无需直接在代码中new相关的对象,应用程序由IoC容器进行组装。在Spring中BeanFactory是IoC容器的实际代表者。Spring IoC容器如何知道哪些是它管理的对象呢?这就需要配置文件,Spring IoC容器通过读取配置文件中的配置元数据...转载 2019-08-21 13:57:37 · 166 阅读 · 0 评论 -
3.spring的ioc的配置使用
1.Bean的配置Spring IoC容器目的就是管理Bean,这些Bean将根据配置文件中的Bean定义进行创建,而Bean定义在容器内部由BeanDefinition对象表示,该定义主要包含以下信息:●全限定类名(FQN):用于定义Bean的实现类;●Bean行为定义:这些定义了Bean在容器中的行为;包括作用域(单例、原型创建)、是否惰性初始化及生命周期等;●Bean创建方式...转载 2019-08-21 14:13:19 · 93 阅读 · 0 评论 -
4.spring的di的配置使用
1.依赖和依赖注入传统的应用程序设计中所说的依赖一般指类与类之间的关系泛化:表示类与类之间的继承关系,接口与接口之间的继承关系。实现:类对接口的实现。依赖:当类与类之间有使用关系时,就属于依赖关系,不同于关联关系,依赖不具有拥有关系,而是一种相识关系,只在某个特定地方(比如某个方法体内)才有关系。关联:表示类与类活类与接口之间的依赖关系,表现了拥有关系,具体到代码可以用实例变量...转载 2019-08-22 11:46:15 · 280 阅读 · 0 评论 -
5.spring的di之循环依赖
1.什么是循环依赖循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,则它们最终反映为一个环。此处不是循环调用,循环调用是方法之间的环调用。循环调用是无法解决的,除非有终结条件,否则就是死循环,最终导致内存溢出错误。Spring容器循环依赖包括构造器循环依赖和set...转载 2019-08-22 17:00:10 · 260 阅读 · 0 评论 -
6.spring的di更多知识
1.延迟初始化bean延迟初始化也叫做惰性初始化,指不提前初始化Bean,而是只有在真正使用时才创建及初始化Bean。配置方式很简单只需在<bean>标签上指定 “lazy-init” 属性值为“true”即可延迟初始化Bean。Spring容器会在创建容器时提前初始化“singleton”作用域的Bean,“singleton”就是单例的意思即整个容器每个Bean只有一个...转载 2019-08-23 16:03:19 · 101 阅读 · 0 评论 -
7.spring之Bean的作用域
1.Bean的作用域什么是作用域呢?即“scope”,在面向对象程序设计中一般指对象或变量之间的可见范围。而在Spring容器中是指其创建的Bean对象相对于其他Bean对象的请求可见范围。Spring提供“singleton”和“prototype”两种基本作用域,另外提供“request”、“session”、“global session”三种web作用域;Spring还允许用户定制...转载 2019-08-26 10:24:31 · 1425 阅读 · 0 评论 -
8.spring之Resource的基础知识
1.概述在日常程序开发中,处理外部资源是很繁琐的事情,我们可能需要处理URL资源、File资源资源、ClassPath相关资源、服务器相关资源(JBoss AS 5.x上的VFS资源)等等很多资源。因此处理这些资源需要使用不同的接口,这就增加了我们系统的复杂性;而且处理这些资源步骤都是类似的(打开资源、读取资源、关闭资源),因此如果能抽象出一个统一的接口来对这些底层资源进行统一访问,是不是很方...转载 2019-08-26 14:13:28 · 141 阅读 · 0 评论 -
9.spring之内置resource实现
1.ByteArrayResourceByteArrayResource代表byte[]数组资源,对于“getInputStream”操作将返回一个ByteArrayInputStream。public class ResourceTest { public static void main(String[] args) { Resource resource =...转载 2019-08-26 17:43:42 · 274 阅读 · 0 评论 -
10.spring之AOP基础
1.AOP的基本概念连接点(Jointpoint):表示需要在程序中插入横切关注点的扩展点,连接点可能是类初始化、方法执行、方法调用、字段调用或处理异常等等,Spring只支持方法执行连接点,在AOP中表示为“在哪里干”; 切入点(Pointcut):选择一组相关连接点的模式,即可以认为连接点的集合,Spring支持perl5正则表达式和AspectJ切入点模式,Spring默认使用Aspe...转载 2019-08-27 11:19:08 · 164 阅读 · 0 评论 -
spring经典69道题
Spring概述1.什么是spring?Spring是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。2.使用Spring框架的好处是什么?轻量:Spring是轻量的,基本的版本大约2MB。...转载 2019-09-05 13:39:43 · 222 阅读 · 0 评论