Spring
iteye_14294
这个作者很懒,什么都没留下…
展开
-
spring aop学习笔记
理解spring aop的路径:最初级的做法是通过使用代理将业务代码和系统代码分离,也就是在向代理类中注入业务接口实现类,然后在调用业务接口代码时调用系统代码;[code="java"]//******* TimeBook.java**************import org.apache.log4j.Level;import org.apache.log4j.Logger;p...2008-02-19 14:08:00 · 122 阅读 · 0 评论 -
编程方式实现sping bean延迟初始化
在实际开发中, 碰到如下需求场景:在线上需要spring容器管理的所有bean能在加载之后立即进行初始化, 而在单元测试的时候则希望根据需要使用的bean来进行初始化, 而测试和线上使用的是同一套配置, 开始我们决定在配置中通过import的方式, 在最外层中指定延迟初始化为false, 比如这样:<?xml version="1.0" encoding="gb2312"?>...2009-10-09 10:12:06 · 92 阅读 · 0 评论 -
使用spring aop 简化mock设计实现
有时候为了去掉对外部系统的依赖, 我们需要针对外部依赖的接口创建一个mock实现类, 当然里面都是空实现, 如果有多个的话, 可能需要写很多的mock实现类, 我们在测试的时候, 发现可以通过spring aop来进行简化, 使用一个aspect来替代多个mock实现. 具体做法如下:首先是aop的配置文件, 如下:<?xml version="1.0" encoding="GBK"...2009-09-28 20:42:17 · 709 阅读 · 0 评论 -
自定义logger注解, 简化log4j的配置
上次在参加支付宝架构培训的时候, 看到他们框架中有一个不错的对logger的注解来简化定义, 具体用法如下: @Logger private static Log log;当时觉得不错, 也没问他们怎么实现的, 后来自己做了一个, 基本原理如下:通过自定义一个BeanPostProcessor, 在对所有bean初始化之前, 对每一个bean的field进行检查, 是否...2009-09-28 20:20:39 · 544 阅读 · 0 评论 -
使用spring aop碰到的几个问题及解决办法
这里的问题只是针对spring 2.0.7 至于其他版本, 不知道有没有这些问题.现象: 写道Caused by: java.lang.IllegalArgumentException: error at ::0 formal unbound in pointcut at org.aspectj.weaver.tools.PointcutParser.parsePointc...2009-09-28 20:09:33 · 1330 阅读 · 0 评论 -
本人常用的两种spring aop实现方式
备忘一下, 基本的用法包括在配置文件中配置pointcut, 在java中用编写实际的aspect 类, 针对对切入点进行相关的业务处理.配置文件如下<?xml version="1.0" encoding="GBK"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns...原创 2009-09-28 10:53:49 · 157 阅读 · 0 评论 -
spring加载配置文件
[size=medium]ClassPathXmlApplicationContext 这个类表示加载的xml文件都是在classpath之下FileSystemXmlApplicationContext 则没有这种限制, 可以加载任意目录下的文件, 它的起始路径是相对于当前spring容器所在工程的根目录, 这种用法一般在测试的时候(配置文件可能存放在不同的工程中)为了加载不同工程和目录下的...原创 2008-12-11 09:27:55 · 111 阅读 · 0 评论 -
spring aspectj的返回值
最近使用到了基于aspectj的spring aop, aop是spring的核心之一, 重要性自必不多言, 而使用aspectj在spring中的应用让我们的开发工作量降低了不少, 不过里面有一点在spring的reference中没有提到, 而且这一点我觉得是非常重要的, 因为这个问题导致我在开发中郁闷了好久, 就是返回值的问题, [size=large][color=red]当使用Aroun...原创 2009-05-31 08:40:52 · 536 阅读 · 0 评论 -
spring map bean定义
一般我们知道在property属性里面定义一个无id的map是比较容易的, 但是如何将map定义一个单独的bean, 以便重用, google了一下, [url=http://forum.springsource.org/archive/index.php/t-32356.html]这里[/url]给出了说明, 不过有些问题, 没有value那个节点, 不知道是否spring版本的问题, 修改之后...原创 2009-05-21 12:20:04 · 503 阅读 · 0 评论 -
spring知识总结
bean属性及构造器参数:直接量(基本类型、Strings类型等。)元素通过字符串来指定属性或构造器参数的值。正如前面所提到的,JavaBean PropertyEditor将用于把字符串从java.lang.String类型转化为实际的属性或参数类型。[code="xml"] com.mysql.jdbc.Driver jdbc:mys...原创 2009-05-09 22:11:56 · 110 阅读 · 0 评论 -
对多数据源进行aop声明式事务管理
当在对数据库表进行横向切分(将一个表的数据拆分为到多个数据库中)之后, 在操作数据库的时候需要路由到合适的数据源, 这里我参照了Spring对多数据源的路由处理方式(http://blog.springsource.com/2007/01/23/dynamic-datasource-routing). 具体实现如下.首先是TransactionManager的配置:[code="xml"]...2009-11-04 18:57:50 · 335 阅读 · 0 评论 -
spring + ibatis 源码解读
最近对ibatis2.1.0.256这个版本(大部分应用都是用该版本)的源代码以及spring的SqlMapClientTemplate相关的代码看了下. 这个版本的ibatis有一个问题, 就是如果执行sql出错的话, 出错信息非常不友好, 连最基本的sql和paramter都没有, 给查找问题带来不小的麻烦, 本想看看代码能进行一下定制, 由于版本太老, 扩展性太差了, 基本没法扩展, 最后被...2009-10-16 11:46:01 · 156 阅读 · 0 评论 -
Spring动态数据源路由实现
简单的翻译, 也算是一篇笔记.原文:http://blog.springsource.com/2007/01/23/dynamic-datasource-routing/在Spring 2.0.1中引入了AbstractRoutingDataSource, 该类充当了DataSource的路由中介, 能有在运行时, 根据某种key值来动态切换到真正的DataSource上, 同时对于不支持...2008-09-24 09:32:15 · 279 阅读 · 0 评论 -
spring @Configration扩展使用一例
最近对注解了解的比较多, 也在实际项目中实战了一把, 同时对spring中关于一些注解的源代码看了看, 下面是实际应用中对@ContextConfiguration的一些扩展经过查看spring的源代码, 可以知道@ContextConfiguration在默认情况下是使用ClassPath的方式来加载locations指定的bean xml配置文件, 也就是说配置文件必须放在classpat...2009-02-05 22:03:27 · 153 阅读 · 0 评论 -
spring 注解学习笔记
spring 注解讲的最详细的文章:http://www.ibm.com/developerworks/cn/java/j-lo-spring25-ioc/根据属性名自动注入, 需要配置一个后置处理器:[code="xml"] [/code]然后就可以在属性定义上加上@Autowired了不过属性不能定义为静态的, 否则会报错默认的自动注入会在加载的时...原创 2009-02-05 21:20:12 · 105 阅读 · 0 评论 -
spring的xml string applicationcontext实现
这里有两种实现方式:[code="xml"]import org.springframework.context.ApplicationContext;import org.springframework.context.support.AbstractXmlApplicationContext;import org.springframework.core.io.ByteArra...原创 2013-03-06 07:26:31 · 217 阅读 · 0 评论