广告
返回顶部
首页 > 资讯 > 精选 >MyEclipse下Spring、Hibernate、Struts如何结合
  • 375
分享到

MyEclipse下Spring、Hibernate、Struts如何结合

2023-06-03 08:06:43 375人浏览 安东尼
摘要

这篇文章给大家分享的是有关MyEclipse下spring、Hibernate、Struts如何结合的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数据库准备:数据库名称:AT_SMS表名称:admin字段如下:s

这篇文章给大家分享的是有关MyEclipse下spring、Hibernate、Struts如何结合的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

数据库准备:
数据库名称:AT_SMS
表名称:admin
字段如下:
sid bigint 从1开始自动增加,步长为1,单独做表的主键name varchar(50)
passWord varchar(50)

开发软件准备:Eclipse 3.1
MyEclipse Enterprise Workbench v4.1.1 GA
jdk1.4.2
Spring1.2[MyEclipse自带的]
Hibernate3.0[MyEclipse自带的]

步骤:
1、设定自己的WorkSpace[D:Eclipse3.1MyWorkspace];

建立普通Java工程[不是MyEclipse WEB工程]MyProject[D:Eclipse3.1MyWorkspaceMyProject;

2A、配置数据库连接备用。东东在Window->Open Perspective->My Eclipse Database Explore下。在左边空白框点右键选择New,弹出框后填写Profile name:MyTestDB;驱动点Configure database driver去配置,其它的看着填,不想看到所以数据库就在第二步选择Display the selected schemas,点按钮Add时会自动连接数据库显示所有的数据,选择你想看到的,在这我们选择AT_SMS,点finish完成了。

添加Spring相关东西[点击菜单MyEclipse->Add SPring Capabilities...][注意:把光标停在工程根目录才能添加,不然是灰灰的];弹出窗口默认选中Spring1.2 Core包,把Spring1.2 ORM/DAO/Hibernate3选中,把Spring1.2 aop,Spring1.2 Testing都选中[省得测试时候遇到找不到jar再去导入],next,创建一个src目录存放配置文件,finish。

添加Hibernate相关东西,注意根Spring关联起来,数据库连接选择之前创建的MyTestDB即可,Dialect默认是Sysbase,我用SQL Server,所以要改过来;Hibernate的bean ID设成跟Spring的一样,结果配置文件提示ID不唯一,哈哈,那就清除Hiebernate相关的东西先,这还有些麻烦,首先要切换到MyEclipse J2EE Development[如果没有这个可能是你的工作区没有这种工程,去创建一个MyEclipseJ2EE工程],接着把工程视图从PackageExplorer切换到Navigator,删除文件名带Hibernate字样的文件,打开.project文件,删除里头关于Hibernate的一个buildCommand,和一个nature.Ok了,可以重新添加Hibernate相关的东西.[注意:SessionFactory就是Spring用来关联Hibernate的那Bean的ID我填SessionFactory,填写数据库参数时的那个BeanID就是数据源名称,我填dataSource]

接下来产生Hibernate映射,将视图切换到MyEclipse Database Explorer,点右键打开连接,选择你要产生Java代码的表,我们在这选择admin,弹出窗口发现会默认带出一些参数,由于这个DB连接不是属于单个工程的是个全局的东东,默认参数可能不是你想要的,不管那么多你选择Java src folder到你当前工程的src目录,这就与你的工程关联起来了,参数也跟着变了,Java package设为com.kama.hibernate,选中产生Spring DAO;其它默认,表的主键产生要设置一些,选中表名,在ID Generator选择native;就这样了。

让Spring管理数据库事务,在配置文件applicationContext.xml中添加内容:
   
       
           
       

   


       
           
       

       
           
               PROPAGATION_REQUIRED,readOnly
               PROPAGATION_REQUIRED,readOnly
               PROPAGATION_REQUIRED,readOnly
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
           

       


   <bean id="autoProxyCreator"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
       
           
               baseTransactionProxy
           

       

       
           *DAO
       

   

事务中,必须是接口调用,具体原因请看其它资料,现在我们增加接口:AdoInterface,在其中定义方法:public void save(Object transientInstance);[用Object做参数类型是为了让所有DAO类共用这个接口];

AdminDAO中增加实现接口AdoInterface,修改其save方法的声明,public void save(Object transientInstance)

测试方法一,写如下代码来测试:
  ApplicationContext ctx = new ClassPathXmlApplicationContext(
  "applicationContext.xml");
  AdoInterface dao = (AdoInterface) ctx.getBean("AdminDAO");
 
 System.out.println(dao.toString());  
 Admin admin = new Admin();
 admin.setName("Kama");
 admin.setPassword("123456");  
 dao.save(admin);
 System.out.println("--测试完毕--");
  看到插入的记录了吧!

测试方法二:在工程属性的JAVA Builder path->Libraries里头设置导入D:MyEclipseeclipsepluginscom.genuitec.eclipse.springframework_4.1.1data1.2libspring-mock.jar
产生测试类继承org.springframework.test.AbstractTransactionalSprinGContextTests;修改:
protected String[] getConfigLocations() {
 return new String[]
             { "/applicationContext.xml" };
}
增加:
private AdoInterface adminDAO;
public void setAdminDAO(AdoInterface adminDAO)
{
 this.adminDAO = adminDAO;
}

public void testSave()
{
 this.setComplete();//想将数据插入数据库就保留这个,不想插入数据库,去掉这句Junit测试会自动回滚。
 Admin admin = new Admin();
 admin.setName("KamaSupport");
 admin.setPassword("123456");
 this.adminDAO.save(admin);
}
以Junit形式运行测试程序。大功告成!

附录A:applicationContext.xml



 
 net.sourceforge.jtds.jdbc.Driver
 

 
 jdbc:jtds:sqlserver://127.0.0.1:3344/AT_SMS;SelectMethod=cursor
 

 
 sa
 

 
 123456
 



   
       
           
       

   


       
           
       

       
           
               PROPAGATION_REQUIRED,readOnly
               PROPAGATION_REQUIRED,readOnly
               PROPAGATION_REQUIRED,readOnly
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
           

       


   <bean id="autoProxyCreator"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
       
           
               baseTransactionProxy
           

       

       
           *DAO
       

   


 
 
 

 
 
   org.hibernate.dialect.SQLServerDialect
 

 

 
 
   com/kama/hibernate/Admin.hbm.xml
 

 



 
 
 


附录B:log4j.properties
log4j.rootLogger=INFO,default
log4j.logger.org=ERROR
log4j.logger.com.comp=ERROR
log4j.logger.net.sf.hibernate=ERROR
log4j.logger.net.sf.hibernate.SQL=ERROR
log4j.logger.net.sf.hibernate.type=ERROR
log4j.logger.net.sf.ehcache=ERROR
log4j.logger.org.springframework=ERROR

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}:[%p]  [%t] %r   %l %m%n

log4j.appender.default=org.apache.log4j.RollingFileAppender
log4j.appender.default.Threshold=DEBUG
log4j.appender.default.File=kama.log
log4j.appender.default.Append=true
log4j.appender.default.MaxFileSize=1000KB
log4j.appender.default.MaxBackupIndex=3
log4j.appender.default.layout=org.apache.log4j.PatternLayout
log4j.appender.default.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}:[%p]  [%t] %r   %l %m%n

[@more@]1、在struts-config.xml中增加:


 

修改Struts的Action映射:

attribute="addAdminForm"
     input="/form/addAdmin.jsp"
     name="addAdminForm"
     path="/addAdmin"
     scope="request"
     type="org.springframework.web.struts.DelegatingActionProxy">
     <forward
name="success"
       path="/form/success.jsp"
       redirect="true" />
   

就是将type改成Spring的代理类了,原来的Action类要到Spring的配置文件里头去配置。

Struts配置文件修改完毕!

在Spring配置文件中配置path="/addAdmin"对应的bean


 
 
 

class:Struts的ActionBean

property:由Spring产生的DAO,这个属性要在com.kama.struts.action.AddAdminAction中定义,并且要定义Setter方法。

在Action中使用DAO:

定义DAO属性:

private AdoInterface dao;

定义Setter,Getter方法:

public AdoInterface getDao()
{
 return dao;
}

public void setDao(AdoInterface dao)
{
 this.dao = dao;
}

调用DAO:

public ActionForward execute(  
 ActionMapping mapping,
 ActionForm form,
 httpservletRequest request,
 HttpServletResponse response) {
 AddAdminForm addAdminForm = (AddAdminForm) form;
 Admin id = new Admin();
 id.setName(addAdminForm.getName());
 id.setPassword(addAdminForm.getPassword());  
 dao.save(id);  
 return mapping.findForward("success");
}

OK,完成了!

注意:部署的时候将spring-web.jar包部署到lib目录下,不然刚才在Struts配置文件里头增加的那几个Class找不到会出现莫名的错误!

感谢各位的阅读!关于“MyEclipse下Spring、Hibernate、Struts如何结合”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: MyEclipse下Spring、Hibernate、Struts如何结合

本文链接: https://www.lsjlt.com/news/233705.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MyEclipse下Spring、Hibernate、Struts如何结合
    这篇文章给大家分享的是有关MyEclipse下Spring、Hibernate、Struts如何结合的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数据库准备:数据库名称:AT_SMS表名称:admin字段如下:s...
    99+
    2023-06-03
  • Struts+Hibernate+Spring如何组合使用
    这篇文章给大家分享的是有关Struts+Hibernate+Spring如何组合使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。其实对于S2SH的组合,其实注意几点就可以了:第一: 由于Struts2的Acti...
    99+
    2023-06-17
  • ASP和Spring如何结合使用?
    ASP和Spring是两个不同的框架,ASP是一种微软公司开发的服务器端脚本语言,而Spring是一种Java开源框架。它们各自有自己的优点和特点,但是如果能够结合使用,可以实现更加强大的功能。 在本文中,我们将介绍ASP和Spring如...
    99+
    2023-06-04
    spring 函数 bash
  • Python 和 Spring 如何结合使用?
    Python 和 Spring 是两个不同的编程语言和框架,它们分别用于不同的用途。Python 是一种高级编程语言,它被广泛应用于数据科学、机器学习、Web 开发等领域。Spring 是一种 Java 框架,它为企业级应用程序提供了一种...
    99+
    2023-06-27
    spring apache django
  • NumPy和Spring:如何将它们结合使用?
    NumPy是一种用于科学计算的Python扩展库,而Spring则是Java应用程序开发的开源框架。这两个工具都拥有各自的优势和功能,将它们结合使用可以实现更加高效和强大的数据处理和应用程序开发。 在本文中,我们将介绍如何将NumPy和Sp...
    99+
    2023-09-26
    api numpy spring
  • ASP和Spring如何结合?学习笔记分享!
    ASP和Spring是两种常见的Web开发框架,ASP是微软公司推出的一种动态Web开发框架,而Spring是Java开发中的重要框架之一。结合这两种框架可以使开发者更加高效地进行Web开发。本文将介绍ASP和Spring如何结合,同时提供...
    99+
    2023-11-14
    spring 学习笔记 http
  • Spring 如何结合Redis数据库实现缓存
    这篇文章将为大家详细讲解有关 Spring 如何结合Redis数据库实现缓存,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 依赖包安装pom.xml 加入:<!-- redis c...
    99+
    2023-05-31
    spring redis 缓存
  • Linux下find与exec如何结合使用
    这篇文章主要为大家展示了“Linux下find与exec如何结合使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下find与exec如何结合使用”这篇文章吧。在Linux下工作,fi...
    99+
    2023-06-15
  • Python与Spring的完美结合:如何使用数组?
    在软件开发中,数组是一种非常常见的数据结构,它可以用来存储一组相同类型的数据。Python和Spring分别是两种非常流行的编程语言和框架,那么如何在这两者之间实现完美的结合,以便更好地使用数组呢?本文将为您介绍Python和Spring...
    99+
    2023-06-20
    spring 数组 教程
  • Python和Spring结合使用,如何实现高效缓存?
    在现代Web开发中,缓存是提高Web应用程序性能的关键因素之一。应用程序的高效性可以通过缓存技术来实现。Python和Spring结合使用,可以实现高效缓存。本文将介绍如何使用Python和Spring构建一个高效的缓存系统。 Pytho...
    99+
    2023-10-07
    spring 缓存 二维码
  • Spring 和 Numpy:如何在 Python 中将它们结合使用?
    Python 作为一种高级编程语言,拥有许多流行的库和框架。其中,Spring 和 Numpy 是两个非常受欢迎的库,它们分别用于构建 Java Web 应用程序和进行科学计算。在本文中,我们将介绍如何在 Python 中将 Spring...
    99+
    2023-08-31
    教程 spring numpy
  • Spring MVC结合Spring Data JPA如何实现按条件查询和分页功能
    这篇文章主要为大家展示了“Spring MVC结合Spring Data JPA如何实现按条件查询和分页功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring MVC结合Spring D...
    99+
    2023-05-30
    spring mvc jpa
  • Git和Spring的结合,如何优化HTTP协议的使用?
    在当今互联网时代,Web应用程序的开发变得越来越复杂,随之而来的是对HTTP协议使用的要求越来越高。Git和Spring是两个广泛使用的工具,Git用于版本控制和协作,Spring用于Web应用程序的开发。结合这两个工具,我们可以更好地优...
    99+
    2023-07-24
    http git spring
  • PHP、Spring、分布式,如何在学习笔记中有机结合?
    随着互联网的快速发展,越来越多的企业开始采用分布式架构来构建自己的应用程序。在这种情况下,开发人员需要掌握多种技术才能开发出高效、可靠的分布式应用程序。其中,PHP和Spring是两种非常流行的技术,本文将介绍如何在学习笔记中有机结合这两...
    99+
    2023-08-04
    spring 分布式 学习笔记
  • Python和Spring如何结合使用?面试官会问你什么?
    随着互联网的快速发展,Web应用程序的开发越来越受到人们的关注。Python和Spring都是广泛使用的Web开发框架,它们各自有着自己的优点和特点。那么,将它们结合起来使用,会带来怎样的好处呢?本文将会探讨这个问题,并为大家演示一些使用...
    99+
    2023-09-07
    spring 面试 numpy
  • ASP 函数和 Spring 结合使用,如何实现数据的存储?
    在当今数字化的时代,数据存储变得越来越重要。ASP 函数和 Spring 是两个非常流行的工具,它们可以协同工作来实现数据的存储。在本文中,我们将探讨如何使用 ASP 函数和 Spring 来实现数据存储。 ASP 函数是一种服务器端脚本...
    99+
    2023-10-06
    函数 spring 存储
  • Git与Spring框架的结合,如何提高Go语言开发效率?
    随着软件开发的发展,越来越多的开发者开始意识到版本控制的重要性。Git作为目前最流行的版本控制工具之一,已经成为了开发者们不可或缺的工具。而Spring框架则是一个非常流行的Java开发框架,它提供了许多简化开发的工具。那么,将Git和Sp...
    99+
    2023-11-01
    linux git spring
  • ASP 函数和 Spring 的结合,如何更好地进行数据存储?
    数据存储是任何应用程序的核心功能之一,因此它需要一个可靠和高效的方法来实现。ASP 函数和 Spring 是两个非常流行的技术,它们可以帮助我们更好地进行数据存储。在这篇文章中,我们将探讨如何将 ASP 函数和 Spring 结合起来,以...
    99+
    2023-10-06
    函数 spring 存储
  • Spring框架与PHP的结合:如何提高Web应用程序的性能?
    Spring框架是Java开发中最流行的框架之一,而PHP是一种广泛用于Web开发的脚本语言。结合Spring框架和PHP可以提高Web应用程序的性能和可扩展性。本文将介绍如何使用Spring框架和PHP来构建高性能的Web应用程序。 一、...
    99+
    2023-10-11
    apache spring git
  • Java容器与Spring框架的结合,如何应用于大数据处理?
    随着大数据时代的到来,数据处理的需求越来越大,而Java容器与Spring框架的结合则成为了一种高效的解决方案。本文将从Java容器和Spring框架的角度出发,探讨如何将它们应用于大数据处理。 一、Java容器 Java容器是Java语...
    99+
    2023-07-09
    容器 spring 大数据
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作