![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring笔记
seeJavaDocs
这个作者很懒,什么都没留下…
展开
-
bean生命周期
注意:1.spring容器中可以注册多个后置处理器,它们的顺序可以通过实现org.springframework.core.Ordered接口来决定调用顺序。 2.applicationContext 和beanfactory的bean生命周期不同: 2.1:如果applicationContext中如果bean实现了org.原创 2016-09-12 15:05:53 · 238 阅读 · 0 评论 -
spring aop实现原理
什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从转载 2016-10-03 23:58:40 · 342 阅读 · 0 评论 -
泛型依赖注入
说明:spring 4.x 后允许子类注入子类对应带泛型类型的成员变量的引用,说白了就是任何实现了xxService 类的子类(明确了泛型类型)例如:xxService,都可以被xxService这个父类接受,即由spring 注入给这个父类。举例:User.javapackage com.yaspeed.spring.beans.generic.di;public class U原创 2016-10-02 20:53:59 · 298 阅读 · 0 评论 -
Spring事务传播机制以及事务隔离级别
Spring事务传播机制解惑概述当我们调用一个基于Spring的Service接口方法(如UserService#addUser())时,它将运行于Spring管理的事务环境中,Service接口方法可能会在内部调用其它的Service接口方法以共同完成一个完整的业务操作,因此就会产生服务接口方法嵌套调用的情况,Spring通过事务传播行为控制当前的事务如何传播到被嵌套调用的目标服务接口方转载 2016-09-30 09:51:20 · 217 阅读 · 0 评论 -
spring声明式事务配置
9.4.1 声明式事务概述 从上节编程式实现事务管理可以深刻体会到编程式事务的痛苦,即使通过代理配置方式也是不小的工作量。 本节将介绍声明式事务支持,使用该方式后最大的获益是简单,事务管理不再是令人痛苦的,而且此方式属于无侵入式,对业务逻辑实现无影响。 接下来先来看看声明式事务如何实现吧。9.4.2 声明式实现事务管理1、定义业务逻辑实现转载 2016-09-30 11:04:11 · 274 阅读 · 0 评论 -
spring编程式事务管理
9.3.1 编程式事务概述 所谓编程式事务指的是通过编码方式实现事务,即类似于JDBC编程实现事务管理。 Spring框架提供一致的事务抽象,因此对于JDBC还是JTA事务都是采用相同的API进行编程。 java代码:Java代码 Connection conn = null; UserTransaction tx = null转载 2016-09-30 11:08:37 · 312 阅读 · 0 评论 -
spring事务配置的五种方式
前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的转载 2016-09-30 10:48:58 · 144 阅读 · 0 评论 -
数据库并发操作存在的异常情况
数据库并发操作存在的异常情况:1. 更新丢失(Lost update):两个事务都同时更新一行数据但是第二个事务却中途失败退出导致对数据两个修改都失效了这是系统没有执行任何锁操作因此并发事务并没有被隔离开来。2. 脏读取(Dirty Reads):一个事务开始读取了某行数据但是另外一个事务已经更新了此数据但没有能够及时提交。这是相当危险很可能所有操作都被回滚。3. 不可重复读取(Non原创 2016-09-30 09:53:36 · 649 阅读 · 0 评论 -
Spring事务异常回滚
最近遇到了事务不回滚的情况,我还考虑说JPA的事务有bug? 我想多了....... 为了打印清楚日志,很多方法我都加tyr catch,在catch中打印日志。但是这边情况来了,当这个方法异常时候 日志是打印了,但是加的事务却没有回滚。 例: 类似这样的方法不会回滚 (一个方法出错,另一个方法不会回滚) : [html] view plain转载 2016-09-29 22:57:31 · 215 阅读 · 0 评论 -
spring源码解析(收藏)
Spring源代码解析(收藏)Spring源代码解析(一):IOC容器:点击打开链接Spring源代码解析(二):IoC容器在Web容器中的启动:点击打开链接Spring源代码解析(三):Spring JDBC:点击打开链接Spring源代码解析(四):Spring MVC:点击打开链接Spring源代码解析(五):Spring AOP获取Proxy:点击打开链接原创 2016-09-26 17:29:22 · 192 阅读 · 0 评论 -
学习spring框架必备基础
引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩”。以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些Java基础知识,希望对大家有所帮助。):[1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081[2] Java动态代理-->原创 2016-09-26 14:20:14 · 348 阅读 · 0 评论 -
bean的自动装配
一:基于XML配置的自动装配(用的不多) 自动装配: 只声明 bean, 而把 bean 之间的关系交给 IOC 容器来完成 byType: 根据类型进行自动装配. 但要求 IOC 容器中只有一个类型对应的 bean, 若有多个则无法完成自动装配. byName: 若属性名和某一个 bean 的 id 名一致, 即可完成自动装配. 若没有 id原创 2016-09-21 15:03:43 · 208 阅读 · 0 评论 -
Ioc中装配bean的几种方式
装配方式有如下几种:一:属性注入 二:构造方法注入 三:工厂方法注入优缺点:构造方法注入可以保证属性在bean实例化时就设置好,不需要为每个属性提供setter方法;多个构造函数让配置文件复杂;不利于继承和扩展;有时候会造成循环依赖原创 2016-09-18 10:22:49 · 355 阅读 · 0 评论 -
bean的作用域
singleton作用域 在默认情况下,ApplicationContext容器在启动的时候会初始化所有singleton 的bean实例,并将它们存在缓存中,如果不希望在容器启动的时候初始化,可以设置lazy-init=true,但是在某些情况下,即使设置了lazy-init=true,依旧会提前初始化,例如该bean需要被提前实例化的bean引用到;web应用相关的原创 2016-09-20 16:33:23 · 175 阅读 · 0 评论 -
spring中bean之间的关系配置
bean之间的关系有如下几种配置继承依赖引用继承配置:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/原创 2016-09-20 15:21:44 · 170 阅读 · 0 评论 -
测试spring父子容器实现
package com.yaspeed.spring.parentChild;public class Iphone7 { private String name; private int price; public Iphone7(){ System.out.println("调用构造函数Iphone7()..."); } public String getName() {转载 2016-09-19 15:35:12 · 212 阅读 · 0 评论 -
spring的启动过程
要想很好理解这三个上下文的关系,需要先熟悉spring是怎样在web容器中启动起来的。spring的启动过程其实就是其IoC容器的启动过程,对于web程序,IoC容器启动过程即是建立上下文的过程。spring的启动过程:首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的spring IoC转载 2016-09-19 10:22:12 · 159 阅读 · 0 评论 -
spring mvc 下载
package com.yaspeed.controller;import java.io.File;import java.io.IOException;import java.io.InputStream;import org.apache.commons.io.FileUtils;import org.apache.log4j.Logger;import org.spring原创 2016-10-20 13:09:37 · 180 阅读 · 0 评论