spring3.0+struts2+hibernate3整个环境的搭建和基于junit4的spring测试框架,最新技术的ssh框架

spring3.0+struts2+hibernate3整个环境的搭建和基于junit4的spring测试框架

基本:导入ssh的相关包

第一步:hibernate的搭建

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>
    <session-factory>
        <property name="dialect">
            org.hibernate.dialect.Oracle9Dialect
        </property>
        <property name="connection.url">
            jdbc:oracle:thin:@localhost:1521:ORCL
        </property>
        <property name="connection.username">scott</property>
        <property name="connection.password">****</property>
        <property name="connection.driver_class">
            oracle.jdbc.driver.OracleDriver
        </property>
        <property name="myeclipse.connection.profile">oracle</property>
        <property name="hbm2ddl.auto">update</property>
        <property name="show_sql">true</property>

        <mapping class="cn.dk.po.user.TUser" />
        <mapping class="cn.dk.po.book.TBook" />
        <mapping class="cn.dk.po.userbook.TUserBook" />
    </session-factory>

</hibernate-configuration>

hibernate的创建和事务管理是由spring操作的

第二步:spring的搭建,配置文件如下:


设置好配置文件后,使用@Repository、@Service、@Controller 和 @Component 将类标识为 Bean

具体使用情况请看我空间另一篇博客,写的很全很仔细:http://www.blogjava.net/ashutc/archive/2011/04/14/348270.html

做好上述事情之后,让我们来搭一个junit4的spring测试框架:(必须导入spring-test这个包)

import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;
/**
 * @ClassName AbstractTestCase
 * @Description:
 * @author zhengdingke 1149427735@qq.com
 * @date 2013-12-18
 */
@RunWith(SpringJUnit4ClassRunner.class)//配置spring测试环境
@ContextConfiguration(locations={"classpath:applicationContext.xml"})//指明spring上下文的位置
@Transactional//事务控制
@TransactionConfiguration(transactionManager="txManager",defaultRollback=true)//事务的配置,默认数据库回滚
public abstract class AbstractTestCase {
    
}

如果要进行单元测试的话,就继承上述抽象类:

import javax.annotation.Resource;
import org.junit.Test;
import cn.dk.po.book.TBook;
import cn.dk.service.book.BookService;

import junit.framework.Assert;

public class TestBook extends AbstractTestCase {
    @Resource
    public BookService bookService;
      
    @Test//hibernate的测试
    public void testSave(){
        bookService.save(new TBook("dingke113","0","woai9"))
    }

   @Test//spring的测试
    public void testinitalize(){
        Assert.assertNotNull("bookService为空", bookService);
    }

}

第三步:struts2的搭建

  1.    web.xml的设置;

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
      <context-param>//上下文的配置信息,即spring的配置信息
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
      </context-param>
      <listener>//spring的web上下文的监听
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <filter>//struts的配置
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      <filter>//格式配置
        <filter-name>encoding</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>encoding</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      <welcome-file-list>//主页
        <welcome-file>/index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

  2. struts2的配置文件,有别于spring和hibernate,前者采用xml配置的方式,后两者采用注解的方式:

             <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <constant name="struts.ui.theme" value="simple" />
    <constant name="struts.objectFactory" value="spring" />//
Struts2的action由Spring来负责进行实例化
    <constant name="struts.il8n.encoding" value="UTF-8" />
    <package name="icss" namespace="/User" extends="struts-default">
         <action name="validate" class="userAction" method="validate">
         </action>
         <!-- <action name="login" class="userAction" >
             <result>/WEB-INF/jsp/main.jsp</result>
         </action> -->
     </package>
     <package name="icss2" namespace="/Book" extends="struts-default">
         <action name="main" class="bookAction">
             <result>/WEB-INF/jsp/main.jsp</result>
         </action>
     </package>
     <package name="icss3" namespace="/UserBook" extends="struts-default">
         <action name="borrow" class="userBookAction" method="borrow">
         </action>
         <action name="lend" class="userBookAction" method="lend">
         </action>
     </package>
     
</struts>    




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值