Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7566139 建立时间:2006年5月29日 |

| |
[Spring]spring2.0 自定义Scope 软件技术
lhwork 发表于 2007/1/4 22:35:53 |
在spring 的以前版本中,只是支持singleton,prototype两种类型, 在2.0中作了很大的改进,增加了RequestScope,和SessionScope两种范围。当然也支持自定义Scope 下面简单介绍一下,spring2.0是如何支持自定义Scope的。 Scope接口,需要实现的接口,主要的方法: Object get(String name, ObjectFactory objectFactory)Object remove(String name)void registerDestructionCallback(String name, Runnable callback)get 和remove这是最常用的方法,registerDestructionCallback用于回收对象时,可以异步调用其它操作。 下面简单定义一个Scope对象: Scope scope = new Scope() { &n |
|
[Spring]关于spring 2.0自定义xml 标记 (二 如何实现) 软件技术
lhwork 发表于 2006/12/30 10:13:32 |
看了spring test 用例,其实实现这一功能还算比较简单,主要分以下的步骤,具体的实例可以去参考spring 自带的testcase
首先定义相关xsd文件,用于验证相应的行为: 主要增加了4个自定义元素和1个属性:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema xmlns="http://www.springframework.org/schema/beans/test" &nb |
|
[Spring]关于spring 2.0自定义xml 标记 (一 主要的相关类) 软件技术
lhwork 发表于 2006/12/30 10:13:06 |
在spring 2.0 中,增加了自定义xml标记这一重大的功能。下面主要看一下spring 2.0实现这一功能的主要相关类:
NamespaceHandlerResolver(接口) 由DefaultBeanDefinitionDocumentReader使用,用于定位NamespaceHandler,指定特定的命名空间uri
实现类: DefaultNamespaceHandlerResolver 通过map 保存所有的对应关系 默认使用spring.handlers文件来保存所有的handlers 可以定义其他的location 如:
String location = "org/springframework/beans/factory/xml |
|
[Spring]spring 2.0 关于事务的变化(主要为声明性事务) 软件技术
lhwork 发表于 2006/12/30 10:12:13 |
在 1.x中,spring 的事务声明,一直是采用动态代理bean 实现的,也就是采用ProxyFactoryBean或者子类TransactionProxyFactoryBean来实现的
考虑下面的例子:(用1.x实现) <bean id="myTxManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> &nbs |
|
[Spring]spring aop 2.0 编程(三) 软件技术
lhwork 发表于 2006/12/30 10:10:18 |
前面这是讲了许多的概念,下面以一个例子来说明: 一个很好理解的aop 例子,也就是日志服务。 先从aop第一种方式来实现,也就是xml配置方式 先创建基本的日志类: public class Logger {
private static Log log = LogFactory.getLog(Logger.class);
public void entry(String message) { log.info(message); } } 这里只是简单的一个方法,当然实际情况可能不同。 由于xml配置需要一个方面的实现bean 所以创建一个简单的bean : public class LogBean {
private Logger |
|
|