maven整合ssh

一.SSH框架整合过程回顾

1.导入jar包

2.搭建struts环境

  • 创建action,创建struts.xml配置文件,配置action
  • 配置struts2的过滤器

3.搭建hibernate环境

  • 搭建实体类
  • 配置实体类和数据库表映射关系
  • 创建hibernate核心配置文件
    • 引入映射配置文件

4.搭建spring环境

  • 创建spring核心配置文件
  • 让spring配置文件在服务器启动时候加载
    • 配置监听器(web.xml)
      在这里插入图片描述
    • 指定spring配置文件位置(web.xml)
      在这里插入图片描述

5.struts2和spring整合

  • 把action在spring配置(action多实例的)
    在这里插入图片描述
  • 在struts.xml中action标签class属性里面写bean的id值
    在这里插入图片描述

6.spring和hibernate整合

  • 把hibernate核心配置文件中数据库配置,在spring里面配置
    在这里插入图片描述
  • 把hibernate的sessionFactory在spring配置
    maven整合ssh_第1张图片

7.在dao里面使用hibernateTemplate

  • 在dao注入hibernateTemplate对象
  • 在hibernateTemplate对象中注入sessionFactory
    maven整合ssh_第2张图片

8.配置事务

maven整合ssh_第3张图片

在这里插入图片描述

二.maven整合ssh

  • pow.xml

        
        UTF-8
        
        2.5.10
        4.3.8.RELEASE
        5.1.7.Final
    	

        
        
        
            junit
            junit
            4.12
            test
        
        
        
            org.springframework
            spring-core
            ${spring.version}
        
        
        
            org.springframework
            spring-web
            ${spring.version}
        
        
        
            org.springframework
            spring-orm
            ${spring.version}
        
        
        
            org.apache.struts
            struts2-core
            ${struts.version}
        
        
        
            org.apache.struts
            struts2-spring-plugin
            ${struts.version}
        
        
        
            org.hibernate
            hibernate-core
            ${hibernate.version}
        
        
        
            mysql
            mysql-connector-java
            5.1.42
        
        
        
            com.mchange
            c3p0
            0.9.5
        
        
        
            org.aspectj
            aspectjweaver
            1.8.10
        
        
        
            org.slf4j
            slf4j-log4j12
            1.7.25
        
           
          
            javax  
            javaee-api  
            7.0  
          
    

    
        maven_ssh
        
            
            
                org.apache.maven.plugins
                maven-surefire-plugin
                2.19.1
                
                    true
                
            
            
        
    

1.搭建struts2环境

  • 创建struts2配置文件




    
        
        
    


  • 在web.xml中配置struts2核心过滤器
  
   
        struts2
        org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
    

    
        struts2
        /*
    
  

2.搭建spring环境

  • 创建spring配置文件

applicationContext.xml



    

  • 在web.xml中配置监听器
   
    contextConfigLocation
    
    classpath:applicationContext.xml
	
  

    org.springframework.web.context.ContextLoaderListener

3.搭建hiberanate环境

  • 创建hibernate核心配置文件
    hibernate.cfg.xml





   

			
			true
			
			true
		       
		        update
			
			
			org.hibernate.dialect.MySQL5InnoDBDialect
			
          

4.先struts跟spring框架整合

  • 整合关键点:action对象创建,交给spring创建
(1)创建action类

CustomerAction.java

public class CustomerAction extends ActionSupport {


}
(2)将action对象配置到spring配置文件中

applicationContext.xml


	
	          
	
(3)在struts.xml中在action节点中class属性配置为spring工厂中的action对象bean的id

struts.xml


        
          
        
    

5.spring跟hibernate整合

  • 整合关键点:数据源dataSource交给spring,sessionFactory对象创建交给spring创建,事务管理
(1).配置dataSource

applicationContext.xml

 
    
    
   
                 
                   
                    
                     
                      
         

db.properties

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/javaweb
jdbc.username=root
jdbc.password=T471912619
(2).配置sessionFactory

applicationContext.xml

  
    
        
        
        
          
    

(3).事务管理
  • 配置事务管理器:PlatFormTransactionManager:接口
  • jdbc:DataSourceTransactionManager
  • Hibernate:HibernateTransactionManager
 
	    
	
	
	
     
            
                
                 
                  
                   
                    
                    
                 
     
     
     
     
        
        
         
         
     
     
     
     

6.测试

(1).在地址栏输入action请求http://localhost:8080/ssh01/customerAction_findOne.action
  • action-service-dao 完成客户查询
(2).具体实现
  • 创建客户实体类,映射文件,将映射文件引入hibernate核心配置

Customer.java

public class Customer {
         private String custId;
         private String custName;
         private String address;
		
		public String getCustId() {
			return custId;
		}
		public void setCustId(String custId) {
			this.custId = custId;
		}
		public String getCustName() {
			return custName;
		}
		public void setCustName(String custName) {
			this.custName = custName;
		}
		public String getAddress() {
			return address;
		}
		public void setAddress(String address) {
			this.address = address;
		}
         
}

Customer.hbm.xml







    
    

       
       
       
           
       

       
       
       

       
       

    


hibernate.cfg.xml


			
            
  • 创建action,service,dao 并且完成注入,并在类添加属性生成set方法
public class CustomerAction extends ActionSupport {

	private CustomerService customerService;

	private String custId;
	
	public void setCustomerService(CustomerService customerService) {
		this.customerService = customerService;
	}
	
   public void setCustId(String custId) {
		this.custId = custId;
	}
  

public String findOne() throws Exception{
	   Customer customer =customerService.findOne(custId);
	   ActionContext.getContext().getValueStack().push(customer);//存入值栈中
	   
	   return SUCCESS;
   }
}
public interface CustomerService {

	Customer findOne(String custId);

}

public class CustomerServiceImpl implements CustomerService {
           private CustomerDao customerDao;

		public void setCustomerDao(CustomerDao customerDao) {
			this.customerDao = customerDao;
		}

		@Override
		public Customer findOne(String custId) {
			
			return customerDao.findOne(custId);
		}
         
}
public interface CustomerDao {

	Customer findOne(String custId);





}
public class CustomerDaoImpl extends HibernateDaoSupport implements CustomerDao {

	public Customer findOne(String custId) {
		
		return this.getHibernateTemplate().get(Customer.class,custId);
	}

}

  • 在spring配置文件完成注入

applicationContext


     
     
              
     
     
     
     
             
     
    
	
	          
	
  • 在struts.xml中配置action

        
            /index.jsp
          findOne 
        
    
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%@ taglib uri="/struts-tags" prefix="s"%>



Insert title here


        


访问http://localhost:8080/maven_ssh/customerAction_findOne.action?custId=1
maven整合ssh_第4张图片
成功!!!!!!!

三.总结

  • 页面提交参数,服务端action接收参数-参
  • 调用业务层方法->dao方法->DB-调
  • 将返回的数据存入值栈-存
  • 配置结果视-转

你可能感兴趣的:(Maven,maven,整合ssh)