spring
Erica_1230
这个作者很懒,什么都没留下…
展开
-
spring循环依赖
3.2.1 什么是循环依赖 循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,则它们最终反映为一个环。此处不是循环调用,循环调用是方法之间的环调用。如图3-5所示: 图3-5 循环引用 循环调用是无法解决的,除非有终结条件转载 2014-08-12 12:02:43 · 913 阅读 · 0 评论 -
在spring中获取代理对象代理的目标对象工具类
问题描述:: 我现在遇到个棘手的问题,要通过spring托管的service类保存对象,这个类是通过反射拿到的,经过实验发现这个类只能反射取得sservice实现了接口的方法,而extends类的方法一律不出现,debug后发现这个servie实例被spring替换成jdkdynmicproxy类,而不是原始对象了,,它里面只有service继承的接口方法,而没有extends 过转载 2015-05-27 14:28:34 · 591 阅读 · 0 评论 -
事物传播特性
Required:必须有逻辑事务,否则新建一个事务,使用PROPAGATION_REQUIRED指定,表示如果当前存在一个逻辑事务,则加入该逻辑事务,否则将新建一个逻辑事务,如图9-2和9-3所示; 图9-2 Required传播行为 图9-3 Required传播行为抛出异常情况 在前边示例中就是使用的Required传播行为:一、在调用user转载 2015-05-21 23:57:14 · 1413 阅读 · 0 评论 -
SpringAOP功能自我调用的解决方案
使用AOP 代理后的方法调用执行流程,如图所示也就是说我们首先调用的是AOP代理对象而不是目标对象,首先执行事务切面,事务切面内部通过TransactionInterceptor环绕增强进行事务的增强,即进入目标方法之前开启事务,退出目标方法时提交/回滚事务。问题目标对象内部的自我调用将无法实施切面中的增强,如图所示 此处的this指向目转载 2015-05-26 09:28:46 · 4841 阅读 · 1 评论 -
spring配置文件详解--真的蛮详细
spring配置文件详解--真的蛮详细转自: http://book.51cto.com/art/201004/193743.htm此处详细的为我们讲解了spring2.5的实现原理,感觉非常有用 Spring配置文件是用于指导Spring工厂进行Bean生产、依赖关系注入(装配)及Bean实例分发的"图纸"。转载 2016-03-31 14:34:52 · 338 阅读 · 0 评论 -
Spring中@Async用法总结
引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3.x之后,就已经内置了@Async来完美解决这个问题,本文将完成介绍@Async的用法。1. 何为异步调用? 在解释异步调用之前,我们先来看同步调用的定义;同步就是整个处理过程顺序执行,转载 2016-04-05 22:50:49 · 1281 阅读 · 1 评论 -
AOP之通知顺序
如果我们有多个通知想要在同一连接点执行,那执行顺序如何确定呢?Spring AOP使用AspectJ的优先级规则来确定通知执行顺序。总共有两种情况:同一切面中通知执行顺序、不同切面中的通知执行顺序。 首先让我们看下 1) 同一切面中通知执行顺序:如图6-6所示。 图6-6 同一切面中的通知执行顺序而如果在同一切面中定义两个相同类型通知(如转载 2016-04-12 10:37:23 · 2288 阅读 · 0 评论 -
spring数据连接泄漏
对于应用开发者来说,数据连接泄漏无疑是一个可怕的梦魇。只要你开发的应用存在数据连接泄漏的问题,应用程序最终都将因数据连接资源的耗尽而崩溃,甚至还可能引起数据库的崩溃。数据连接泄漏像一个黑洞那样让开发者避之唯恐不及。 Spring DAO对所有支持的数据访问技术框架都使用模板化技术进行了薄层的封装。只要你的程序都使用Spring DAO的模板(如JdbcTemplate、Hibernate转载 2016-05-16 21:42:08 · 1733 阅读 · 0 评论 -
spring 数据连接泄漏
对于应用开发者来说,数据连接泄漏无疑是一个可怕的梦魇。只要你开发的应用存在数据连接泄漏的问题,应用程序最终都将因数据连接资源的耗尽而崩溃,甚至还可能引起数据库的崩溃。数据连接泄漏像一个黑洞那样让开发者避之唯恐不及。 Spring DAO对所有支持的数据访问技术框架都使用模板化技术进行了薄层的封装。只要你的程序都使用Spring DAO的模板(如JdbcTemplate、Hibernate转载 2016-05-16 21:43:59 · 411 阅读 · 0 评论 -
哪些方法不能实施Spring AOP事务
由于Spring事务管理是基于接口代理或动态字节码技术,通过AOP实施事务增强的。虽然Spring还支持AspectJ LTW在类加载期实施增强,但这种方法很少使用,所以我们不予关注。 对于基于接口动态代理的AOP事务增强来说,由于接口的方法都必然是public的,这就要求实现类的实现方法也必须是public的(不能是protected、private等),同时不能使用static的修转载 2016-05-18 09:47:36 · 5762 阅读 · 0 评论 -
spring实现动态数据源切换
一、前言 近期一项目A需实现数据同步到另一项目B数据库中,在不改变B项目的情况下,只好选择项目A中切换数据源,直接把数据写入项目B的数据库中。这种需求,在数据同步与定时任务中经常需要。 那么问题来了,该如何解决多数据源问题呢?不光是要配置多个数据源,还得能灵活动态的切换数据源。以spring+hibernate框架项目为例(引用:http://blog.csdn.net转载 2016-05-18 23:29:05 · 1531 阅读 · 0 评论 -
Spring 多数据源事务配置问题
在SpringSide 3 中,白衣提供的预先配置好的环境非常有利于用户进行快速开发,但是同时也会为扩展带来一些困难。最直接的例子就是关于在项目中使用多个数据源的问题,似乎 很难搞。在上一篇中,我探讨了SpringSide 3 中的数据访问层,在这一篇中,我立志要解决多数据源配置的难题,我的思路是这样的:第一步、测试能否配置多个DataSource第二步、测试能否配置多个Session转载 2016-05-19 00:14:15 · 1429 阅读 · 0 评论 -
Spring3.x事务失效的原因以及解决办法
项目中如果使用spring来管理事务,可能会出现事务失效的情况,我认为主要的原因是cglib无法获取到代代理的实例。。 如果带上事务,那么用annotation方式的事务注解和bean配置,事务会失效,要将service的bean配置到xml文件中才行,这样springmvc就不会扫描到@Service的类了 这个问题有另一种解决办法: 首先在主转载 2017-05-11 12:59:55 · 318 阅读 · 0 评论 -
spring集成hibernate3
8.2.1 如何集成 Spring通过使用如下Bean进行集成Hibernate:LocalSessionFactoryBean :用于支持XML映射定义读取: configLocation和configLocations:用于定义Hibernate配置文件位置,一般使用如classpath:hibernate.cfg.xml形式指定;转载 2015-05-03 18:25:43 · 524 阅读 · 0 评论 -
集成Spring JDBC及最佳实践
集成Spring JDBC及最佳实践 大多数情况下Spring JDBC都是与IOC容器一起使用。通过配置方式使用Spring JDBC。 而且大部分时间都是使用JdbcTemplate类(或SimpleJdbcTemplate和NamedParameterJdbcTemplate)进行开发,即可能80%时间使用JdbcTemplate类,而只有20%时间使用其他类转载 2015-05-02 19:09:41 · 442 阅读 · 0 评论 -
AspectJ切入点语法详解
Spring除了支持Schema方式配置AOP,还支持注解方式:使用@AspectJ风格的切面声明。6.4.1 启用对@AspectJ的支持 Spring默认不支持@AspectJ风格的切面声明,为了支持需要使用如下配置: java代码:查看复制到剪贴板打印 这样Spring就能发现@Aspe转载 2015-04-21 15:23:09 · 416 阅读 · 0 评论 -
spring事务的传播特性
Spring 事务一个被讹传很广说法是:一个事务方法不应该调用另一个事务方法,否则将产生两个事务。结果造成开发人员在设计事务方法时束手束脚,生怕一不小心就踩到地雷。其实这种是不认识 Spring 事务传播机制而造成的误解,Spring 对事务控制的支持统一在 TransactionDefinition 类中描述,该类有以下几个重要的接口方法:int getPropagationBeha转载 2014-11-25 19:54:31 · 472 阅读 · 0 评论 -
Spring Aop实例
AOP的配置的两种方式 1 xml配置方式2 anno转载 2014-08-10 13:51:17 · 538 阅读 · 0 评论 -
spring自定义属性编辑器
spring自定义属性编辑器1 当有date属性的bean需要类型转换才能zh原创 2014-08-03 22:22:27 · 572 阅读 · 0 评论 -
spring 常用属性注入和自动装配
bean1的简单属性: package com.sxt.domain;import java.util.*;public class Bean1 {private String name;private int age;private String[]attr;private Listlists;private Setsets;private Mapmaps;public原创 2014-08-03 20:46:12 · 547 阅读 · 0 评论 -
spring的三种实例化bean方式
1 使用类构造器实例化 package com.sxt.domain;public class Bean {private String name;public Bean(String name) { this.name = name;}public String getName() { return name;}public void setName(原创 2014-08-04 11:41:03 · 602 阅读 · 0 评论 -
spring ioc学习
spring ioc ioc(控制反转):本来是由应用程序原创 2014-08-03 19:43:57 · 423 阅读 · 0 评论 -
spring自定义FactoryBean
FactoryBean是spring容器提供的一种可以扩展容器对象实例化的逻辑j原创 2014-08-04 21:21:46 · 1053 阅读 · 0 评论 -
Spring方法注入
在大部分情况下,容器中的bean都是singleton类型的。如果一个singleton bean要引用另外一个singleton bean,或者一个非singleton bean要引用另外一个非singleton bean时,通常情况下将一个bean定义为另一个bean的property值就可以了。不过对于具有不同生命周期的bean来说这样做就会有问题了,比如在调用一个singleton类型be转载 2014-08-07 21:53:45 · 404 阅读 · 0 评论 -
数据库事务隔离级别
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。转载 2014-08-10 12:16:00 · 458 阅读 · 0 评论 -
Spring定时任务
1编写任务类和运行任务的方法@Component("cmsContentJob")public class CmsContentJob { protected void cmsContentCollect(){ ...... }}2 配置spring的定时任务的作业类(spring-schedule.xml)原创 2014-12-08 16:06:41 · 473 阅读 · 0 评论 -
spring依赖注入
3.3.1 延迟初始化Bean 延迟初始化也叫做惰性初始化,指不提前初始化Bean,而是只有在真正使用时才创建及初始化Bean。 配置方式很简单只需在标签上指定 “lazy-init” 属性值为“true”即可延迟初始化Bean。 Spring容器会在创建容器时提前初始化“singleton”作用域的Bean,“singleton”就是单例的意思即转载 2015-04-14 23:10:00 · 497 阅读 · 0 评论 -
Spring3.0 AOP 详解
一、什么是 AOP。AOP(Aspect Orient Programming),也就是面向切面编程。可以这样理解,面向对象编程(OOP)是从静态角度考虑程序结构,面向切面编程(AOP)是从动态角度考虑程序运行过程。二、AOP 的作用。常常通过 AOP 来处理一些具有横切性质的系统性服务,如事物管理、安全检查、缓存、对象池管理等,AOP 已经成为一种非常常用的解转载 2015-04-21 10:44:09 · 540 阅读 · 0 评论 -
Spring整合Quartz定时任务 在集群、分布式系统中的应用
概述虽然单个Quartz实例能给予你很好的Job调度能力,但它不能满足典型的企业需求,如可伸缩性、高可靠性满足。假如你需要故障转移的能力并能运行日益增多的 Job,Quartz集群势必成为你应用的一部分了。使用 Quartz 的集群能力可以更好的支持你的业务需求,并且即使是其中一台机器在最糟的时间崩溃了也能确保所有的 Job 得到执行。Quartz 中集群如何工作一个 Qu转载 2017-09-14 09:51:27 · 356 阅读 · 0 评论