栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

一篇了解Struts2+Hibernate+Spring以及ssh集成框架

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一篇了解Struts2+Hibernate+Spring以及ssh集成框架

本篇文章将基于Maven项目来讲解,如不懂maven,可以参考发布的前文 

依赖下载的Maven网站:https://mvnrepository.com/

 

Struts2

 struts是什么?

基于mvc模式设计的一个web应用框架,是struts1的升级版,实现了servlet的功能,进而控制页面跳转。

用法:

1.环境搭建,在pom.xml中导入相关的依赖包


	   3.8.1
	   5.1.44
	   2.5.13
	   1.2
	   1.1.2
	
  
        
        
			junit
			junit
			${junit.version}
			test  
		
		
		
			mysql
			mysql-connector-java
			${mysql.version}
		
		
		
			org.apache.struts
			struts2-core
			${struts.version}
		
		
       
			jstl
			jstl
			${jstl.version}
		
		
			taglibs
			standard
			${taglibs.version}
		
  

2.配置struts.xml(核心配置文件)

 这边可以使用struts-base.xml来保存基本引用内容,再将struts-base导入struts.xml中





    
	
	
	
	
	
	
	
	
	

    
	
		regex:.*
	

 在重建一个struts-sys.xml在里面配置自己需要的内容以及跳转路径,如下




    
    
       
           index.jsp
           /book_selAll
           /update.jsp
           /addBook.jsp
       
    

 3.开发

    3.1Action 不需要指定父类(ActionSupport),

      业务方法的定义

      public String xxx();//execute
          注1:开启动态方法调用              

   3.2参数赋值
           Action中定义属性,并提供get/set方法
          userName, getUserName/setUserName

hibernate

hibernate是什么(来源科普中国)?

 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JavaEE架构中取代CMP,完成数据持久化的重任。

ORM框架/持久层框架

对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。

基本用法:

1.在pom.xml中添加hibernate相关依赖(推荐5.12.final的版本)

2.在hibernate目录下添加hibernate.cfg.xml(核心配置文件)如下:




    
    
      root
      123
      jdbc:mysql://localhost:3306/T264?useUnicode=true&characterEncoding=UTF-8
      com.mysql.jdbc.Driver
      
      org.hibernate.dialect.MySQLDialect
      
      
      true
      true
      
      
      true
      
      true
      
      org.hibernate.cache.ehcache.EhCacheRegionFactory
      
    
      
      
      
      
      
      
    
      

3.每创建一个表都要对它做实体映射文件配置,拿Book表为例,创建Book.hbm.xml 

注意:配置完之后要到hibernate核心配置文件中做实体类映射文件的注册




    
       
       
       
      
     
       
     
     
       
     
    
      
     
         
         
     
    

 4. 如何使用hibernate完成CRUD操作
  4.1 CRUD操作步骤
    4.1.1 读取配置
    4.1.2 创建SessionFactory
    4.1.3 打开Session
    4.1.4 开启事务
    4.1.5 CURD
    4.1.6 提交事务/回滚事务
    4.1.7 关闭Session

 4.2 注意事项
     4.2.1 hibernate默认使用的是手动事务,因此必须显示的开启和提交事务
     4.2.2 删除操作时,必须先查再删

Spring 

 什么是spring,它能做什么?

 Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。
   Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
   然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
   目的:解决企业应用开发的复杂性
   功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
   范围:任何Java应用
   简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

SSH2/SSM
   1.1 中间层框架、万能胶
       struts2
       spring
       hibernate
   1.2 容器框架
         JavaBean
         IOC和AOP

 如何在spring当中定义和配置一个JavaBean(使用无参构造方法+set方法创建一个JavaBean)

  1.  id:在容器中查找Bean的id(唯一、且不能以/开头)
  2. class:bean的完整类名
  3. name:在容器中查找Bean的名字(唯一、允许以/开头、允许多个值,多个值之间用逗号或空格隔开)
  4. scope:(singleton(单例模式)|prototype(多例模式))默认是singleton
  5. abstract:将一个bean定义成抽象bean(抽象bean是不能实例化的),抽象类一定要定义成抽象bean,非抽象类也可以定义成抽象bean
  6. parent:指定一个父bean(必须要有继承关系才行)
  7. init-method:指定bean的初始化方法

简单属性的配置:
   8+1+3
   8基础数据+String+3个sql
   java.util.Date
     java.sql.Date
     java.sql.Time
     java.sql.Timestamp
   通过标签赋值即可

复杂属性的配置
  5.1 JavaBean
      ref bean=""
  5.2 List或数组
  5.3 Map
  5.4 Properties

用法:

配置spring-xml文件(也可以配置spring-base.xml然后导入spring-xml中)



	
	
	
	
	
	
	
	
	
	
	
	
	   
	      
	   
	   
	      
	         afterAdvice
	         pointCutAdvice
	         methodInterceptor
	      
	   
	   
	      
	        p2.IBookService
	      
	   
	
	
	
	
	   
	        
	   
	   
	      .*buy
	   
	


什么是ssh框架?(来源于科普中国)

SSH是 struts+spring+hibernate的一个集成框架,是16年之前较为流行的一种Web应用程序开源框架。区别于 Secure Shell 。

集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。

用法:1.修改spring核心配置文件:在spring-base.xml中实现hibernate与spring的集成



	
	
		
		
		
		

		
		

		
		

		
		

		
		

		
		

		
		

		
		

		
		

		
		

		
		
	

	
	
		
		
			
		
		
		
			
				org.hibernate.dialect.MySQLDialect
				true
				true
				true
				true
				org.hibernate.cache.ehcache.EhCacheRegionFactory
				
				true
			
		
		
		
			
				mapping/Account.hbm.xml
			
		
	

	
	
		
			
		
	


	
	
	

	
	
		
	

	
	
	
		
			
			
			
			
			
			
		
	

	
	
		
		
		
		
		
		
	
	

SSH集成的注意事项

  1. .struts的xml的配置文件基本保持不变:将action标签中的class属性改成spring-xml中配置的类Acition引用就完成对struts2的集成
  2. 将hibernate的核心配置文件hibernate.cfg.xml中的内容放入spring.xml中,配置hibernateTemplate,将实体类映射文件也放入其中
  3. 在java代码中凡是引用spring中定义的bean元素,都要提供相对应的set/get方法

         

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/360880.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号