WEB开发网
开发学院软件开发Java 深入浅出 jackrabbit 一 阅读

深入浅出 jackrabbit 一

 2009-09-17 00:00:00 来源:WEB开发网   
核心提示: 学习任何新的框架都离不开例子,可运行的例子可以加深我们对框架的理解,深入浅出 jackrabbit 一(2),下面我们就把jackrabbit给download下来,跑一个例子试试看,递归深入下去,这样才能深刻理解其设计理念 三, 这个例子是官方的例子,这个例子形象的说明了jackrabbit的

学习任何新的框架都离不开例子,可运行的例子可以加深我们对框架的理解。下面我们就把jackrabbit给download下来,跑一个例子试试看。

这个例子是官方的例子,这个例子形象的说明了jackrabbit的一般访问方法:

Java代码   

import javax.jcr.Repository; 
import javax.jcr.Session; 
import javax.jcr.SimpleCredentials; 
import javax.jcr.Node; 
import org.apache.jackrabbit.core.TransientRepository; 
 
/** 
 * @author not ahuaxuan 
 * @since 2009-5-19 
 * @version $Id$ 
 */ 
public class HopFirst { 
 
 /** 
 * Second hop example. Stores, retrieves, and removes example content. 
 */ 
 
 /** 
 * The main entry point of the example application. 
 * 
 * @param args 
 *      command line arguments (ignored) 
 * @throws Exception 
 *       if an error occurs 
 */ 
 public static void main(String[] args) throws Exception { 
 // 创建一个仓库 
 Repository repository = new TransientRepository(); 
 
 // 创建一个session 
 Session session = repository.login(new SimpleCredentials("username", 
  "password".toCharArray())); 
 try { 
  // 得到根节点(发现root变量,root,一般树结构的顶层节点叫做root) 
  Node root = session.getRootNode(); 
 
  // 添加节点数据(仔细看hello节点和world节点的组织方式,可以发现它是一颗树形结构) 
  Node hello = root.addNode("hello"); 
  Node world = hello.addNode("world"); 
  world.setProperty("message", "Hello, World!"); 
 
  // 保存数据 
  session.save(); 
 
  // 数据查询 
  Node node = root.getNode("hello/world"); 
  System.out.println(node.getPath()); 
  System.out.println(node.getProperty("message").getString()); 
 
  // 数据删除 
  root.getNode("hello").remove(); 
  session.save(); 
 } finally { 
  session.logout(); 
 } 
 } 
 
} 

看完这个例子(项目打包到附件中),有什么收获呢,从ahuaxuan看来,有三个收获:

1, 明确了jackrabbit做crud的一般流程,从而为以后使用jackrabbit打下了不够坚实的基础

2, 明确了jackrabbit中存储数据的一般结构,显然是一颗m叉树。

3, Session的用法和db connection颇为类似,和hibernate中的session更为类似(后面的文章中我们还可以看到和hibernate session更为类似的设计理念)。

例子虽然简单,而且也有一定的含金量,但是事实上还是过于肤浅,作为技术人员是要有点追求的,要深入理解jackrabbit,那么下面的有两步必须要做:

一, 分析jcr的域模型,和关键类的继承体系

二, 分解jcr的crud主体流程,递归深入下去,这样才能深刻理解其设计理念

三, 关键逻辑的算法

Ahuaxuan将会在后续的文章中和大家一起深入分析这些知识点。

最后附上可运行的例子代码,下载后直接导入项目

上一页  1 2 

Tags:深入浅出 jackrabbit

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接