使用Spring3.2.0+Hibernate3.2.2+Struts2 2.2.3整合小demo以及配置使用的jar包集合

这里重点讲的是spring的包的引入以及配置!

之前使用的是spring2.5.6,现在使用的是spring3.2.0。

想看之前的配置的话可以去我的github上看看:点击打开链接https://github.com/luoyafei/SpringHibernateStruts2Demo。

这里着重说spring3.2.0的配置包使用!spring3.2.0的整合也可以在我的github上找到:点击打开链接https://github.com/luoyafei/Spring3.2.0Demo/commits?author=luoyafei

首先把用到的jar包截个图:

注意junit没有放在这里,tomcat的jar页面放在这里,这里只是ssh2使用的jar以及他们的依赖jar。

使用Spring3.2.0+Hibernate3.2.2+Struts2 2.2.3整合小demo以及配置使用的jar包集合_第1张图片



首先将spring3.2下lib内的所有包全引入,其次需要commons-logging-1.1.1.jar,否则项目无法跑起来。注意:所有的spring都需要这个包。

使用aop的话就必须引入:
aopalliance-1.0.jar
aspectjrt.jar
aspectjweaver.jar
如果使用dbcp连接池必须引入:commons-dbcp.jar和commons-pool.jar
最终要的一点就是:必要要引入struts2-spring-plugin-2.2.3.jar!这样才能在struts2中的action类与spring结合在一起。
还有其他的配置文件,可以自己在项目中看。
至于struts2和hibernate的jar包引入就不特别说明了。

来看看配置文件:

首先是web.xml中:



	Spring3.2.0Demo
	
		index.html
		index.jsp
	


	
		contextConfigLocation
		classpath:beans.xml
	
	
		org.springframework.web.context.ContextLoaderListener
	

      
		struts2
		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
	
	
		struts2
		/*
	
再看struts.xml




    
	
	
	
	
		
                
			/success.jsp
			/fail.jsp
			/input.jsp
		
	
来看看action的具体类:

package com.luo.action;

import javax.annotation.Resource;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import com.luo.bean.User;
import com.luo.service.UserService;
import com.opensymphony.xwork2.ActionSupport;

@Component(value="userAction")//这里就是对应struts.xml中的action的class的值
@Scope("prototype")
public class UserAction extends ActionSupport {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private UserService us;
	
	
	private String username;
	private String password;
	private String repassword;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getRepassword() {
		return repassword;
	}
	public void setRepassword(String repassword) {
		this.repassword = repassword;
	}

	
	public UserService getUs() {
		return us;
	}
	@Resource(name="us")
	public void setUs(UserService us) {
		this.us = us;
	}
	
	@Override
	public String execute() throws Exception {
		if(username != null && username.trim().hashCode() != 0) {
			User user = new User();
			user.setName(username);
			us.save(user);
			return SUCCESS;
		} else 
			return INPUT;
	}
	
}

现在来看看最重要的spring的配置beans.xml:




	
	

	
		
		
		
		
	
	
		
		
			
				com.luo.bean.User
			
		
		
			
				org.hibernate.dialect.MySQLInnoDBDialect
				true
				true
			
		
	
	
	
	
		
	
	
	
		
	
	
	
	
		
		
	
	
		
			
			
		
	
好了,具体的测试我们可以使用junit来测试而无须再写页面测试,当然为了真实的保证有效,可以再页面中再测试一遍!

import javax.annotation.Resource;

import org.junit.Test;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;

import com.luo.action.UserAction;

@ContextConfiguration("classpath:beans.xml")
public class testUserDao extends AbstractJUnit4SpringContextTests {

	private UserAction ua;
	public UserAction getUa() {
		return ua;
	}
	@Resource(name="userAction")
	public void setUa(UserAction ua) {
		this.ua = ua;
	}
	
	@Test
	public void testSave() {
		try {
			ua.execute();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
好了。ok。

你可能感兴趣的:(使用Spring3.2.0+Hibernate3.2.2+Struts2 2.2.3整合小demo以及配置使用的jar包集合)