ssh项目整合(重点篇)

1.三大框架整合原理

ssh项目整合(重点篇)_第1张图片

 

2.导包(41)

1>hibernate包

hibernate/lib/required下的所有必须包:9个

数据库驱动包:1个

 

2>struts2包

struts2-blank\WEB-INF\lib所有必须包:13个

struts整合spring插件包:struts2-spring-plugin-2.3.24.jar(这个包导入后在struts2启动时就会寻找spring容器,找不到即有异常)1个

注意:javassist-3.18.1-GA.jar包与hibernate中的重复

 

3>spring包

基本:4+2

整合web包:1个

整合aop包:spring-aop|spring-aspect|aop联盟|aopweaving 4个

整合hibernate和事务:spring-jdbc|spring-tx|c3p0|spring-orm 4个

测试包:spring-test 1个

 

4>jstl标签库包

standard.jar、jstl.1.2jar  2个

 

3.单独配置spring容器

1>书写配置文件(导入约束:4)

ssh项目整合(重点篇)_第2张图片



2>配置spring随项目启动

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

 

4.单独配置struts2

1>配置struts2主配置文件(导入约束)


 

	
		
			/success.jsp
		
	

2>配置struts2核心过滤器到web.xml

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

 

5.struts与spring整合

1>配置常量

	
	

2>整合:spring负责创建action以及组装

	
	
		
	
	 
	
		
			/success.jsp
		
	

 

6.单独配置hibernate

1>导入实体类和orm元数据

ssh项目整合(重点篇)_第3张图片

2>配置主配置文件





	
	
	com.mysql.jdbc.Driver
	
	jdbc:mysql:///ssh_crm
	
	root
	
	123456
	
	org.hibernate.dialect.MySQLDialect

	
	true
	
	true
	
	update	
	
	thread
	
	
	
	
	
	

 

7.spring整合hibernate

1>整合原理

将sessionFactory对象交给spring容器管理

 

2>spring中配置sessionFactory

	
	
		
		
			
				jdbc:mysql:///ssh_crm
				root
				123456
				org.hibernate.dialect.MySQLDialect
				
				
				true
				true
				update
			
		
		
		
	

 

8.spring整合c3p0连接池

1>配置db.properties

jdbc.jdbcUrl=jdbc:mysql:///ssh_crm
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.user=root
jdbc.password=123456

2>引入到spring中

	
	
	
	
		
		
		
		
	

3>连接池注入给sessionFactory

		
		

 

9.spring整合hibernate环境操作数据库

1>Dao继承HibernateDaoSupprot

public class UserDaoImpl extends HibernateDaoSupport implements UserDao{

2>hibernate模板操作

	public User getUserByCode(final String userCode) {
		return getHibernateTemplate().execute(new HibernateCallback() {
			@Override
			public User doInHibernate(Session session) throws HibernateException {
					String hql = "from User where user_code = ? ";
					Query query = session.createQuery(hql);
					query.setParameter(0, userCode);
					User user = (User) query.uniqueResult();
				return user;
			}
		});
	}

3>spring中配置dao

	
	
		
	

 

10.spring中的aop事务

1>核心事务管理器

	
	
		
	

2>配置通知


	
		
			
			
			
			
			
			
			
			
			
		
	

3>配置织入

	
	
		
		
		
		
	

 

 

11.扩大session范围(解决懒加载no-session问题)

为了避免使用懒加载时出现no-session问题.需要扩大session的作用范围

web.xml中配置filter

  
  
  	openSessionInView
  	org.springframework.orm.hibernate5.support.OpenSessionInViewFilter
  
  
  	openSessionInView
  	/*
  

 

12.源码

github地址:https://github.com/weixiaojian/ssh

你可能感兴趣的:(ssh)