三大框架整合步骤(详细)

以是从struts2-------->>>hibernate--------------->>>>spring的整合过程。

环境:tomcat7+MyEclipse10.0+struts2+hibernate3+spring

说明:

1)、基本全部是使用注解方式。

2)、适合初学者

3)、文章最后有项目的源码

------------------struts2-------------------------
步骤:
1、导入必须框架jar()
2、jar addtoBuildPath
3、 建立对应各个层包
4、建立bean(entry)-----加上hibernate需要的对应的注解
5、web.xml加入struts需要的拦截(只针对struts的配置)
在action中实现ModelDriven 接口,可以快速从表单装入对应实体属性
6、新建struts.xml,设置好对应跳转关系

7、根据struts建立对应jsp和action


注意事项:
1、需要去掉整合spring需要的struts2-spring-plugin-2.1.6.jar,不然运行只有struts配置时,会报错。
2、注意路径问题。在struts.xml中的package name="user" 是跳转的“相对值”,所以,如果设置jsp的所在的文件夹(如果设置文件夹的话)和strut对应包的name对应,
可以使用同一个对应值,转发时比较方便,直接写对应jsp即可,因为会默认包含对应


所在的包。或者,使用绝对路径(比较好理解),直接           /jsp所在文件夹/xxx.jsp


关键配置:

/////////////////web.xml配置(只针对于struts2,没有涉及spring)//////////////////////////



	
		index.jsp
	
	
		struts2
		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
	
	
		struts2
		/*
	


///////////////////////struts.xml配置////////////////////////



	
	
	
		
			/registerOk.jsp
			/registerFail.jsp
		
		
			/loginOk.jsp
			/loginFail.jsp
		
		
			/listOk.jsp
			/listFail.jsp
		
	


-----------------------------hibernate-------------------------------
步骤:
1、编写HibernateUtils
2、编写hibernate.cfg.xml:

注意两种配置文件的配置(一个注解方式,一个xml方式)


		

		


3、加入log4j日志配置文件配置

注意事项:
1、bean上不要忘了加必须的注解
@Entity
public class User....
@GeneratedValue
@Id
public int getId() {
return id;
}


2、如果使用.getCurrentSession(); 不能再手动关闭session();
使用openSession()需要自己手动关闭。
3、如果不想要log4j上输出过多警告信息,可以在最后面加上
log4j.logger.com.opensymphony.xwork2=ERROR,stdout,logfile
4、注意每个业务.层需要new对象时,全部设置为 private Object o=new Object();(因为没有加入spring),然后get\set,便于后期加入spring,并且也可以便于观察AOP和IOC
关键配置:
///////////////////HibernateUtils。java///////////////
public class HibernateAnnotationUtils {
	private static SessionFactory sf = null;
	static {
		sf = new AnnotationConfiguration().configure


().buildSessionFactory();
	}


	public static SessionFactory getSessionFactory() {
		return sf;
	}


	public static Session getCurrentSession() {
		return sf.getCurrentSession();
	}


	public static Session openSession() {
		return sf.openSession();
	}
}


 ///////////////////hibernate.cfg.xml/////////////// 
  





	
		
		com.mysql.jdbc.Driver
		jdbc:mysql://localhost/ssh
		root
		xxx


		
		org.hibernate.dialect.MySQLDialect
		true
		true
		
		
		1


		
		thread


		
		org.hibernate.cache.NoCacheProvider


		
		
		
		
	






-------------------spring--------------------------
步骤:
1、加入之前去掉的struts2-spring-plugin-2.1.6.jar
2、在web.xml加入spring的配置
1)、配置spring配置文件的索引路径(监听器和配置文件所在路径)
2)、配置中文乱码的解决:设置为自己需要的编码
3、配置applicationContext.xml
1)、配置bean的扫描路径(可以自动化,当然可以手动配置)
2)、配置jdbc配置文件,从jdbc.properties读取
3)、得到jdbc配置文件中的配置信息
4)、构建sessionfactory,加入实体扫描包,加入一些需要的配置信息,如数据库方言,格式化输出句等。
4、加入jdbc.properties
5、在每个bean中加入
 @Component 
public class...
@Resource
public void setUserService...


注意事项:
1、这是一个整合hibernate.cfg.xml到applicationContext.xml
中的配置spring。 整个项目中不在需要hibernate.cfg.xml
2、在action层必须加上
@Scope("prototype")//多例(不加上设计多线程错误,非常debug)
public class UserAction....

关键配置:
////////////web.xml/////////////////

		org.springframework.web.context.ContextLoaderListener
		
	


	
		contextConfigLocation
		
		classpath:applicationContext.xml
	






		encodingFilter
		org.springframework.web.filter.CharacterEncodingFilter
		
			encoding
			UTF-8
		
	
	
	
		encodingFilter
		/*
	




 /////////////////applicationContext.xml///////////////// 
  


	
	
	
	
	
	
		
			classpath:jdbc.properties
		
	
	
		
		
		
		
	


	
		
		
			
				com.zzia.model
			
		
		
			
				
					


org.hibernate.dialect.MySQLDialect
				
				true
			
		
	










////////////////////jdbc.properties////////////////////
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssh
jdbc.username=root
jdbc.password=xxx





------------------------------------------------------------------------------------------------------------------------------


源码下载地址:http://download.csdn.net/detail/wgyscsf/9250325














你可能感兴趣的:(三大框架)