SSH的整合

 

我发表下SSH的整合,为了我能更好地记住。

struts2和hibernate的配置我这里就不多说了,先把两个有关的东西说下。一个是所有的包。struts2+hibernate3+spring2.5我包准备放上去给大家下载。

http://pan.baidu.com/share/link?shareid=3160001548&uk=3307409781

放在的我百度云盘里面

闲话不说:开始。

先是struts2和hibernate的配置

web.xml:



	
	
		struts2
		
			org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
	

	
		struts2
		/*
	


 然后在src下添加一个struts.xml:

"1.0" encoding="UTF-8"?>
DOCTYPE struts PUBLIC 
 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
 "http://struts.apache.org/dtds/struts-2.0.dtd">


 然后在src下添加一个hibernate.cfg.xml:(这是一些数据库的配置)

'1.0' encoding='UTF-8'?>
configuration PUBLIC 
 "-//Hibernate/Hibernate Configuration DTD3.0//EN" 
 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">



    
        "connection.username">sa
        "connection.url">
            jdbc:jtds:sqlserver://localhost:1433;DatabaseName=LQQ
        
        "dialect">
            org.hibernate.dialect.SQLServerDialect
        
        
        "connection.password">sa
        "connection.driver_class">
            net.sourceforge.jtds.jdbc.Driver
        
        "show_sql">true
        
        "sedion/xq/ORM/Stuinfo.hbm.xml" />
    

重点讲Spring:
1. src下面新建applicationContext.xml文件:

 

"1.0" encoding="UTF-8"?>
"http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

    "TUser_id" class="test.TUser">
        "username" value="">
        "allname" value="">
        "address" value="温州市">
    
    

 然后在web-xml:


         contextConfigLocation
		
          classpath:applicationContext.xml

 

2.Spring基本配置完毕

下面我们测试下:src建个test包

建两个类User和SpringTest类:

 

public class User implements java.io.Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private String username;
    private String allname;
    private String address;

    public String getUsername() {
        return this.username;
    }

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

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

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

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

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

 

 

public class SpringTest {
	public static void main(String[] args) {
		// 加载spring配置文件,初始化IoC容器
		ApplicationContext ac = new ClassPathXmlApplicationContext(
				"applicationContext.xml");
		// 从容器 接管Bean
		TUser user = (TUser) ac.getBean("TUser_id");
		// 输出欢迎信息
		System.out.println("Hello:" + user.getUsername() + ";u is in "
				+ user.getAddress() + " ; and u is  " + user.getAllname());
	}
}


 

别忘了:applicationContext.xml中配置一个bean,在xml中增加如下代码:

 


  
        
        
        
    

 

 

 

运行main方法后

控制台出现:Hello:你;u is in 温州市 ; and u is  李

下面开始整合

整合struts2

  1.整合struts2配置web.xml文件。在web.xml中加入以下代码:

 

	
	
		
			org.springframework.web.context.ContextLoaderListener	
		
	

 

 2.举个例子:

  把strutsaction交给spring:

  先把 


 改为

 

 

然后在

applicationContext.xml中增加如下代码:

 



 

 

整合Hibernate

 Spring整合Hibernate主要是对hibernateSession进行管理,包含Session的创建、提交、关闭的整个生命周期。Spring对事务的管理应用了AOP的技术

1)        配置sessionFactoryspring来创建Session

我们原来是用HibernateSessionFactory.java来创建Session的,现在删除即可,交给Spring创建。(这样就spring来整合hibernate来创建session)

这里,创建了一个Session工厂类的Bean,其ID为“sessionFactory”.

 

applicationContext.xml中增加如下代码:

 



 

     

         classpath:hibernate.cfg.xml

        

    

 

还有个例子上的配置:


		
		
			
				org.hibernate.dialect.SQLServerDialect
				true
			
		
		
			
	                  	sedion/xq/bean/User.hbm.xml
			
		

	

 

2.

然后DAO层匹配一个session工厂,这个sessionFactory是指session工厂的ID。

 



		
			
		

 

 3.service层注入DAO层

         
		
	

 然后就是各个action注入service层:(随便写个)

	
		
	

 整合就这样好

下面是整合下载的例子。

http://pan.baidu.com/share/link?shareid=3154531670&uk=3307409781

你可能感兴趣的:(SSH的整合)