图解SSH框架配置步骤 (二)

4 配置Hibernate

4.1 基础配置

1)        导入最小jar包,即使用Hibernate3所必需的jar包。下载hibernate-distribution-3.3.1.GA解压后,必需jar包都在lib"required目录下。必需jar包如下:

²        hibernate3.jar-----------------------------核心类库

²        antlr-2.7.6.jar-----------------------------代码扫描器,用来翻译HQL语句

²        commons-collections-3.1.jar----------- Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大

²        dom4j-1.6.1.jar----------------------------是一个JavaXML API,类似于jdom,用来读写XML文件的

²        javassist-3.4.GA.jar----------------------- Javassist 字节码解释器

²        jta-1.1.jar------------------------------------标准的JTA API

²        slf4j-api-1.5.2.jar

²        slf4j-nop-1.5.2.jar

 

1)        创建Hibernate配置文件。在WEB-INF"calsses目录下(工程的src包下)新建hibernate.cfg.xml。这是hibernate连接数据库的配置文件。这里以连接Oracle为例:


<? xml version='1.0' encoding='UTF-8' ?>
<! DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
       "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>

< hibernate-configuration >
    
< session-factory >
        
< property  name ="connection.driver_class" >
            oracle.jdbc.driver.OracleDriver
        
</ property >
        
< property  name ="connection.url" >
            jdbc:oracle:thin:@192.168.0.141:1521:TEST
        
</ property >
        
< property  name ="myeclipse.connection.profile" > TEST </ property >
        
< property  name ="connection.username" > test </ property >
        
< property  name ="connection.password" > test </ property >
        
< property  name ="dialect" >
            org.hibernate.dialect.Oracle9Dialect
        
</ property >
        
< property  name ="show_sql" > true </ property >
        
< mapping  resource ="test/hibernate/TUser.hbm.xml"   />
    
</ session-factory >
</ hibernate-configuration >

 

1)        创建Session工厂类HibernateSessionFactory

让我们先了解一下Session, Hibernat 对数据库的操作是通过Session来实现的,这里的session不同于页面间传递参数的session,而是类似于JDBC中的 ConnectionSessionHibernate运作的中心,对象的生命周期、事务的管理、数据库的存取都与session息息相关。

Session是由HibernateSessionFactory创建的,是线程安全的,可以让多个执行线程同时存取HibernateSessionFactory而不会有数据共享的问题,但不能让多个线程共享一个Session

HibernateSessionFactory可以用myeclispe自动创建,这里就不贴出代码了。

    注意:别忘了把数据库驱动包引入到工程中。对于oracleclass12.jar

 

4.2 示例

        这个自己去测试一下吧。


 

5 配置Spring2.5

5.1 基础配置

1)        导入spring包。下载spring-framework-2.5.6并解压后,在spring-framework-2.5.6"dist目录下找到spring.jar,引入到工程中。

说明:spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有类文件。这里,为了使用方便,我们引入整个spring.jar

2)        配置web.xml文件。Jar包引入完成后,就开始配置spring了,首先修改web.xml文件,增加如下代码:

     <!--  
* 从类路径下加载spring的配置文件, 多个配置文件可以用逗号和空格区分
* classpath: 关键字特指类路径下加载
-->
    
< context-param >
        
< param-name > contextConfigLocation </ param-name >
        
< param-value >
            classpath*:spring/applicationContext*.xml
        
</ param-value >
    
</ context-param >

 

在这里,我们指定了spring配置文件的路径,即WEB-INF/classes/spring目录下的所有以applicationContext开头命名的xml文件。

3)        src下面新建applicationContext.xml文件。首先给这个文件加上spring的标头:

<? xml version="1.0" encoding="UTF-8" ?>
< beans  xmlns ="http://www.springframework.org/schema/beans"
         xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:aop
="http://www.springframework.org/schema/aop"
         xmlns:tx
="http://www.springframework.org/schema/tx"
         xsi:schemaLocation
="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
>
</ beans >

 

注意:标头是2.5 不要引入2.0 错了可能Spring就不能正确加载。


 

5.2 示例

       Spring基本配置完毕,让我们建个示例来测试一下吧,首先在test.spring包下创建两个java文件:TUser.javaSpringTest.java

TUser.java:


 1 package  test.spring;
 2
 3 public   class  TUser  implements  java.io.Serializable  {
 4    private String username;
 5    private String allname;
 6    private String address;
 7
 8    public String getUsername() {
 9        return this.username;
10    }

11    public void setUsername(String username) {
12        this.username = username;
13    }

14    public String getAllname() {
15        return this.allname;
16    }

17    public void setAllname(String allname) {
18        this.allname = allname;
19    }

20    public String getAddress() {
21        return this.address;
22    }

23    public void setAddress(String address) {
24        this.address = address;
25    }

26}

27

 

SpringTest.java:


 1 package  test.spring;
 2
 3 import  org.springframework.context.ApplicationContext;
 4 import  org.springframework.context.support.ClassPathXmlApplicationContext;
 5
 6 public   class  SpringTest  {
 7    public static void main( String[] args ) {
 8        //加载spring配置文件,初始化IoC容器
 9        ApplicationContext ac = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
10        //从容器 接管Bean
11        TUser user = (TUser) ac.getBean("TUser");
12        //输出欢迎信息
13        System.out.println( "Hello:" + user.getUsername() + ";u is in " + user.getAddress() + " ; and u is  " + user.getAllname() );
14    }

15}

16

 

创建完毕后,就剩最后一步了,在applicationContext.xml中配置一个bean,在xml中增加如下代码:

< bean  id ="TUser"  class ="test.spring.TUser" >
        
< property  name ="username"  value ="小张" ></ property >
        
< property  name ="allname"  value ="张三" ></ property >
        
< property  name ="address"  value ="青岛市" ></ property >
    
</ bean >

 

好了,下面运行一下吧,右键单击SpringTest.java选择run as àJava Application,运行结果如下:



 

如果你的运行结果和上面一样,且没有异常,则说明Spring配置成功了。是不是很简单?不要骄傲,重要的是SpringHibernateStruts的整合。继续吧!


你可能感兴趣的:(spring,Hibernate,struts,s2sh,休闲)