`
sunshinevsboy
  • 浏览: 12928 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

struts2+spring3.0+JPA1.0(hibernate3.3)工程的构建

阅读更多

  构建JPA工程J2EE 5 只支持JPA1.0 ;要构建JPA2.0 要j2EE6 现在支持开源的应用服务器不多 只有glassfish;构建的报需要如下

 

    所需的JAR包

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这些包我不上传了官方都有。(如果觉得有些包比较难找 可以用www.findjar.com搜索)

persistence.xml 中的配置为:

  <persistence-unit name="tcsdatasource" transaction-type="RESOURCE_LOCAL"> 
      <properties> 
       <!-- 数据库方言--> 
       <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
       <!-- 数据库驱动 --> 
       <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
       <!-- 数据库用户名 --> 
       <property name="hibernate.connection.username" value="admins"/> 
       <!-- 数据库密码 --> 
       <property name="hibernate.connection.password" value="root"/> 
       <!-- 数据库连接URL --> 
       <property name="hibernate.connection.url"
             value="jdbc:mysql://10.6.0.6:3306/tcscloud?useUnicode=true&amp;characterEncoding=UTF-8"/> 
       <!-- 最大抓取深度 --> 
       <property name="hibernate.max_fetch_depth" value="3"/>
       <!-- 更新方式创建库表 -->
       <property name="hibernate.hbm2ddl.auto" value="update"/>
       <!-- 显示SQL --> 
       <property name="hibernate.show_sql" value="true"/> 
       <!-- 格式SQL --> 
       <property name="hibernate.format_sql" value="true"/>
       

      </properties> 
 </persistence-unit> 

 

spring 的配置文件如下:

   <context:annotation-config/> 
   
    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean"> 
      <property name="persistenceUnitName" value="tcsdatasource"/> 
    </bean> 
   
    <bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
      <property name="entityManagerFactory" ref="entityManagerFactory"/> 
    </bean> 
   
    <tx:annotation-driven transaction-manager="txManager"/>

 

struts 配置文件(实现了自定意拦截器):

<struts>
 <constant name="dev.model" value="true" />
 <constant name="struts.i18n.encoding" value="UTF-8"></constant>
 <constant name="struts.convention.default.parent.package" value="project-default" /> <!--设置默认的包-->
  <constant name="struts.convention.package.locators" value="action" />
 
 <package name="project-default" extends="convention-default">
   
  <!--拦截器配置-->
  <interceptors>
  
      <!--登录拦截器-->
   <interceptor name="loginInterceptor"  <!--spring 配置文件自定意的类-->
    class="loginInterceptor">
   </interceptor>
   
   <!--权限拦截器-->
   <interceptor name="permissionInterceptor"  <!--spring 配置文件自定意的类-->
       class="permissionInterceptor">
   </interceptor>
      
   <interceptor-stack name="loginDefaultStack">
    <interceptor-ref name="loginInterceptor"></interceptor-ref>
    <interceptor-ref name="permissionInterceptor"></interceptor-ref>
    <interceptor-ref name="defaultStack"></interceptor-ref>
   </interceptor-stack>
  </interceptors>
  
  <default-interceptor-ref name="loginDefaultStack"></default-interceptor-ref>
  
  <!--全局返回配置-->
  <global-results>
   <result name="error">/pages/common/error.jsp</result>
   <result name="sessionTimeout">/pages/common/sessiontimeout.jsp</result>
  </global-results>
 </package>
 

</struts> 

  

 

DAO的EntityManager 注入:

 /**
 
*@see 框架测试的Dao
 
*@author desert
 
*@version 1.0
 */
public class TestDaoImpl implements TestDao{
 
   @PersistenceContext
   private EntityManager em; 
 
 public void saveTest(TestBean testBean){
    this.em.persist(testBean);
 }

    ....................

}
 

 

事务处理的DEMO:

 @Transactional
public class TestServiceImpl implements TestService{
 
 @Resource
 private TestDao testDao;
 
 @Transactional(propagation = Propagation.REQUIRED) 
 public TestBean getTestBeanById(int id){
   
    return this.testDao.getTestById(id);
 }
 
 // @Transactional(propagation = Propagation.REQUIRED) 
 public void  removeTestBean(TestBean testBean){
   this.testDao.removeTest(testBean);
 }
 
 // @Transactional(propagation = Propagation.REQUIRED)  
 public void  saveTestBean(TestBean testBean)throws Exception{
  try{
    this.testDao.saveTest(testBean);
    this.testDao.getTestBeanList();
  }catch(Exception e){
   throw new TcsException(e.getMessage());
  }
 }
 
 @Transactional(propagation = Propagation.NOT_SUPPORTED) 
 public List<TestBean> getTestBeanList()throws Exception{
  List<TestBean>  list = null;
     list = this.testDao.getTestBeanList();
  return list;
 }
 

}

 

测试代码编写:

   /**
 
*@see 框架测试的Junit
 
*@author desert
 
*@version
1.0
 */
public class JunitTest {
 
  private static TestService  testService;
 
  @BeforeClass 
  public static void setUpBeforeClass() throws Exception {  
        try {  
             ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[]{"applicationContext-service.xml","/springconfig/*-service.xml"});  
             testService = (TestService) applicationContext.getBean("testService");  
         } catch (RuntimeException e) {  
             e.printStackTrace();  
         }  
     }  
  
     @Test 
     public void testSave()throws Exception{   
     

     }  
  
     @Test 
     public void testUpdate() {  
       
     }  
  
     @Test 
     public void testGetById() {  
      /*TestBean object = this.testService.getTestBeanById(1);
      System.out.println(object.getUserName()+" "+object.getPassword());*/
     }  
  
     @Test 
     public void testDelete() {  
         
     }  
  
     @Test 
     public void testGetList()throws Exception{
      List<TestBean> testBean_list = testService.getTestBeanList();
       for(TestBean object:testBean_list){
        System.out.println(object.getUserName()); 
       }
       
     }  
}

struts2 注解demo:

/**
 
*@see 框架测试的TestAction(测试通过)
 
*@author desert
 
*@version 1.0
 */
@ParentPackage("project-default")  //可以省略不写(设置了默认)
@Namespace("/test")  //为了维护方便必须写
@Results({
  @Result(name="success",location="/pages/common/sessiontimeout.jsp"),
  @Result(name="index",location="/pages/common/error.jsp")
})
public class TestAction extends BaseAction{
 
 private static final long serialVersionUID = 1L;
 
 @Resource
    private TestService  testService;
 
 public String forwardIndex()throws Exception{
   testService.getTestBeanList();
   return "index";
 }

}

 

TestAction 去掉Action 并且第一个字母小写得到test做为Action类的访问名

访问路径为:http://工程名/test/test!forwardIndex.action

 

 

 

 

 

  • 大小: 180 KB
分享到:
评论

相关推荐

    Struts2.1+Spring3.0+JPA1.0(Hibernate3.3实现)例子

    ### Struts2.1+Spring3.0+JPA1.0(Hibernate3.3实现)集成案例解析 #### 概述 本篇文章主要介绍如何将Struts2.1、Spring3.0以及JPA1.0(通过Hibernate3.3实现)进行集成开发的应用案例。这种集成方式在企业级应用开发...

    搭建Struts2.1+Spring3.0+Hibernate3.3框架

    搭建Struts2.1+Spring3.0+Hibernate3.3框架是开发Java Web应用程序时常见的一种技术组合,也被称为SSH框架。这三个框架分别负责不同的职责:Struts2处理前端控制器,Spring提供依赖注入和事务管理,Hibernate则作为...

    spring3.0+struts2.2+hibernate3.3集成.rar

    标题 "spring3.0+struts2.2+hibernate3.3集成.rar" 提供了一个关于企业级Java应用开发的集成框架的信息。描述中同样强调了这个主题,暗示了压缩包内可能包含了一个演示或教程,讲解如何将这三个流行的技术——Spring...

    Struts2+Spring2.0+JPA(Hibernate3.3)实例

    Struts2、Spring 2.0 和 JPA(基于Hibernate 3.3)是Java Web开发中的三个关键组件,它们的整合提供了强大的企业级应用框架。这篇文章将详细讲解这三个技术的集成过程及其在实际项目中的应用。 首先,Struts2 是一...

    struts1.0+spring3.0+hibernte3.2

    Struts1.0、Spring3.0和Hibernate3.2是经典的Java企业级开发框架组合,它们各自在应用程序的不同层次上发挥着重要作用。Struts1.0是MVC(Model-View-Controller)架构的一个实现,Spring3.0是全面的轻量级应用框架,...

    jqueryvalidate(猫冬)+spring3.0+struts2.18+hibernate3整合资源包

    该资源包是一个集成开发环境下的项目模板,主要涵盖了jQuery Validate、Spring 3.0、Struts 2.18和Hibernate 3这四个关键组件,它们是Java Web开发中的常用框架和技术。以下将分别对这些技术进行详细阐述。 **...

    Struts2.1.8+Hibernate3.3+Spring3.0整合所.rar.rar

    Struts2.1.8+Hibernate3.3+Spring3.0整合是一个常见的Java企业级应用开发模式,这种集成框架的使用旨在优化后端服务,提高开发效率,并提供灵活的数据持久化解决方案。以下是对这个集成知识点的详细说明: **Struts...

    Struts2+Spring+hibernate中对action的单元测试环境搭建[总结].pdf

    Struts2+Spring+Hibernate 中的Action单元测试环境搭建 在软件开发中,单元测试是一种非常重要的测试方法,可以帮助我们确保代码的可靠性和稳定性。在 Struts2+Spring+Hibernate 框架中,对 Action 的单元测试环境...

    Struts2.0+Spring3.0+hibernate3.2 API(参考手册)

    Struts2.0、Spring3.0和Hibernate3.2是经典的Java企业级开发框架组合,通常被称为SSH(Struts2、Spring、Hibernate)架构。这个API参考手册提供了这三个框架的核心概念、用法和功能的详细说明。 Struts2.0是MVC...

    巴巴运动网S2SH版(1)(struts2.3+hibernate3.0+spring3.0)

    2.本程序为闲暇之余改写,暂时定为(1),在原来struts1+jpa+spring的基础上转为struts2+hibernate+spring版本; 3.因为是抽时间写的,所以不完善,问题是肯定存在的,望大家见谅; 4.目前只写了一个后台的产品管理...

    struts2.0+Spring3.0实例

    Spring3.0增强了对JSR-303(Java Bean Validation)的支持,改进了XML配置的简化,以及提供了更多的数据访问选项,如JPA和Hibernate。 Struts2.0与Spring3.0的集成,可以利用Spring的IoC容器来管理Struts2的Action...

    ssh2(struts2+spring2.5+hibernate3.3+ajax)带进度条文件上传(封装成标签)

    标题 "ssh2(struts2+spring2.5+hibernate3.3+ajax)带进度条文件上传(封装成标签)" 涉及到的是一个基于Java Web的项目,利用了Struts2、Spring2.5、Hibernate3.3和Ajax技术,实现了文件上传并带有进度条显示的功能...

    Struts2.1.8+Hibernate3.3+Spring3.0整合所需Jar包

    Struts2.1.8、Hibernate3.3和Spring3.0是这三大框架的某一特定版本组合,每个版本都有其特定的特性和改进。 **Struts2.1.8**: - Struts2.1.8是Struts2的一个稳定版本,提供了更丰富的UI组件和拦截器。 - 它引入了...

    struts2.1.8+JPA3.0(hibernate实现)+spring2.5整合jar

    Struts2.1.8、JPA3.0(Hibernate实现)和Spring2.5是三个重要的Java开发框架,它们的整合为构建大型企业级应用提供了强大的支持。在这个压缩包中,包含了这些框架的核心库和其他相关依赖,方便开发者快速集成到自己...

    spring3.0+hibernate3.3+struts2整合jar包

    这个"spring3.0+hibernate3.3+struts2整合jar包"正是为了帮助开发者快速搭建基于SSH的开发环境而提供的集成包。 **Spring框架3.0** Spring是IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented ...

    struts2+spring3.x+JPA1.0框架整合步骤

    本文将详细介绍如何整合Struts2、Spring3.x和JPA1.0这三个技术栈,构建一个高效稳定的Web应用。 #### 二、MVC框架介绍 在开始整合之前,我们首先了解一下MVC架构的基本概念。 - **模型(Model)**:负责数据管理和...

    spring2.5+struts2.0+hibernate3.0例子 下载

    这个"Spring2.5+Struts2.0+Hibernate3.0例子"的压缩包文件,很可能是为了展示如何将这三个框架集成在一起,实现数据持久化、业务逻辑控制和视图呈现的无缝配合。开发者通常会在这个例子中找到配置文件(如web.xml、...

    Struts2+Spring4+Hibernate5整合

    Struts2、Spring4和Hibernate5是Java Web开发中的三个重要框架,它们分别负责MVC模式中的动作控制、依赖注入和持久化管理。这三者的整合可以构建出高效、稳定且易于维护的企业级应用。 **Struts2** 是一个基于MVC...

    java8+tomcat8+struts2.5+spring4.3+hibernate5.2框架搭建详细过程

    ### Java8 + Tomcat8 + Struts2.5 + Spring4.3 + Hibernate5.2 框架搭建详细过程 #### 一、环境配置与准备 在搭建一个基于Java8 + Tomcat8 + Struts2.5 + Spring4.3 + Hibernate5.2 的项目前,首先需要对开发环境...

    OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR).rar

    这个系统采用了经典的Java技术栈,包括Struts1.2、Hibernate3.0、Spring2和DWR,这些都是在21世纪初非常流行的技术组合。 1. **Struts1.2**:Struts是Apache软件基金会下的一个MVC框架,主要用于构建企业级Java Web...

Global site tag (gtag.js) - Google Analytics