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

Maven2 + tapestry5.0.18 + spring2 + hibernate3.2

阅读更多
   用quickstart生成Tapestry架构,再进行相应的spring与hibernate配置。
1.依赖包
    <dependencies>
        <dependency>
            <groupId>org.apache.tapestry</groupId>
            <artifactId>tapestry-core</artifactId>
            <version>${tapestry-release-version}</version>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>5.1</version>
            <classifier>jdk15</classifier>
            <scope>test</scope>
        </dependency>

        <dependency>
      	   <groupId>org.apache.tapestry</groupId>
     	   <artifactId>tapestry-spring</artifactId>
           <version>5.0.18</version>
        </dependency>
        <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring</artifactId>
           <version>2.0.7</version>
       </dependency>
       <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>persistence-api</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-annotations</artifactId>
        <version>${hibernate-annotations-version}</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-commons-annotations</artifactId>
        <version>${hibernate-annotations-version}</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate</artifactId>
        <version>3.2.5.ga</version>
        <exclusions>
          <exclusion>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
          </exclusion>
        </exclusions>
      </dependency>	
      <dependency>
      	<groupId>org.apache.geronimo.specs</groupId>
      	<artifactId>geronimo-jta_1.1_spec</artifactId>
      	<version>1.1</version>
      </dependency>
      <dependency>
    	<groupId>commons-dbcp</groupId>
    	<artifactId>commons-dbcp</artifactId>
    	<version>1.2.2</version>
      </dependency> 
    </dependencies>

2.maven插件
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                    <optimize>true</optimize>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>6.1.9</version>
                <configuration>
                    <requestLog implementation="org.mortbay.jetty.NCSARequestLog">
                        <append>true</append>
                    </requestLog>
                </configuration>
        		<dependencies>
        		     <dependency>
          		<groupId>mysql</groupId>
            		<artifactId>mysql-connector-java</artifactId>
            		<version>${mysql-connector-version}</version>
         		      </dependency>
         		      <dependency>
                  	              <groupId>commons-dbcp</groupId>
    	                       <artifactId>commons-dbcp</artifactId>
    	                       <version>1.2.2</version>
	                </dependency> 
        		</dependencies>        
            </plugin>
            <plugin>
        		<groupId>org.codehaus.mojo</groupId> 
        		<artifactId>hibernate3-maven-plugin</artifactId>
        		<version>2.0</version>
        		<configuration>
          	      <components>
            		<component>
              		    <name>hbm2ddl</name>
              		<implementation>annotationconfiguration</implementation> 
         			</component>
          	      </components>
        		</configuration>
        		<dependencies>
          	    <dependency>
            		<groupId>mysql</groupId>
            		<artifactId>mysql-connector-java</artifactId>
            		<version>${mysql-connector-version}</version>
          	   </dependency>
        		</dependencies>        
        </plugin>
        </plugins>

        <properties>
          <tapestry-release-version>5.0.18</tapestry-release-version>
          <hibernate-annotations-version>3.3.0.ga</hibernate-annotations-version>
          <mysql-connector-version>5.0.4</mysql-connector-version>
        </properties>


3.web.xml
    <context-param>
        <param-name>tapestry.app-package</param-name>
        <param-value>com.logcd.tapestry5.myapp</param-value>
    </context-param>
    <context-param>  
        <param-name>tapestry.production-mode</param-name>  
        <param-value>false</param-value>
    </context-param>  
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
   
    <filter>
        <filter-name>app</filter-name>
        <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>app</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

4.applicationContext.xml
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
             http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
    default-lazy-init="true">

	<bean id="dataSource"
		class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName"
			value="com.mysql.jdbc.Driver" />
		<property name="url"
			value="jdbc:mysql://localhost:3306/logcd" />
		<property name="username" value="root"/>
		<property name="password" value=""/>
	</bean>	

	<bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="mappingLocations">
        	<value>classpath:/**/*.hbm.xml</value>
    	</property>
        
        <property name="annotatedClasses">
            <list>
                <value>com.logcd.myapp.models.User</value>
            </list>
        </property>
        <property name="annotatedPackages">
            <list>
                <value>com.logcd.myapp.models</value>
            </list>
        </property>
        
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.show_sql">false</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.connection.pool_size">0</prop>
        	    <prop key="hibernate.connection.autocommit">true</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
            </props>
        </property>
    </bean>

    <bean id="userDAO" class=" com.logcd.myapp.dao.impl.UserDaoImpl">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>
 </beans>

5.User类
package com.logcd.myapp.models;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import javax.persistence.Entity;

import org.apache.tapestry5.beaneditor.NonVisual;
import org.apache.tapestry5.beaneditor.Validate;

@Entity
@Table(name = "users")
public class User implements Serializable {
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@NonVisual
	private Long id;

	private String userName;

	private String emailAddress;

	public User(){}
	
	@Column(name = "id")
	public Long getId() {
		return id;
	}

	@SuppressWarnings("unused")
	private void setId(Long id) {
		this.id = id;
	}

	@Column(name = "username")
	public String getUserName() {
		return userName;
	}

	@Validate(value = "required")
	public void setUserName(String userName) {
		this.userName = userName;
	}

	@Column(name = "emailAddress")
	public String getEmailAddress() {
		return emailAddress;
	}

	@Validate(value = "required")
	public void setEmailAddress(String emailAddress) {
		this.emailAddress = emailAddress;
	}

}

6.页面java文件
package com.logcd.tapestry5.myapp.pages.user;

import java.util.List;

import org.apache.tapestry5.ioc.annotations.Inject;

import com.logcd.myapp.dao.UserDao;
import com.logcd.myapp.models.User;

public class CreateUser {

	private User user;
	
	@Inject
    private UserDao userDAO;
	public CreateUser(){}

	public void setUser(User user) {
		this.user = user;
	}

	public User getUser() {
		return user;
	}

	Object onSuccess() {
        userDAO.save(user);

        return CreateUser.class;
    }

	public List<User> getUsers() { return userDAO.getAllUsers(); }

}
分享到:
评论
3 楼 donyee 2009-04-09  
不错!
没有用Spring事务管理
2 楼 log_cd 2009-03-16  
<url-pattern>/function/*</url-pattern>这样呢?
1 楼 dhxyu 2009-03-16  
# <filter> 
#        <filter-name>app</filter-name> 
#        <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class> 
#    </filter> 
#    <filter-mapping> 
#        <filter-name>app</filter-name> 
#        <url-pattern>/*</url-pattern> 
#    </filter-mapping> 

这里的/* 能不能不要过滤全部啊?怎么改比较好呢?

相关推荐

    maven3.05+springmvc3.2+spring3.2+hibernate3.6重写传智播客OA源代码(包含数据库)

    maven3.05+springmvc3.2+spring3.2+hibernate3.6重写传智播客OA源代码。菜单部分采用ztree.界面有一部分使用bootstrap3.11。听了汤阳光大神的视频收获很大,也学习springmvc,期间有一个想法用springmvc来改写汤大神...

    maven(springmvc+spring+hibernate)

    SSH整合指的是Spring、Struts和Hibernate这三大Java开源框架的集成应用。这三大框架分别负责控制层、视图层和持久层,它们的结合能够构建出功能强大的企业级Web应用程序。 Spring框架是整个SSH整合的核心,它提供了...

    idea工具创建的Spring+SpringMVC+Hibernate+maven项目

    标题中的"idea工具创建的Spring+SpringMVC+Hibernate+maven项目"指的是使用IntelliJ IDEA这个集成开发环境(IDE)构建的一个Java Web项目,该项目整合了四个关键的技术框架:Spring、SpringMVC、Hibernate以及Maven...

    Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA

    在现代Java Web开发中,"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA"是一个常见的架构组合,被广泛应用于构建企业级应用程序。这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心...

    springMVC+maven+hibernate框架

    springMVC+maven+hibernate框架,搭建的过程 可以参考 java进阶(五)------springMVC---springMVC+Hibernate+maven完整搭建运行步骤 http://blog.csdn.net/zzq900503/article/details/49892783

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...

    用Maven搭建Spring+Spring MVC+Hibernate框架

    本篇文章将深入探讨如何使用Maven作为构建工具,在Eclipse环境中搭建一个整合了Spring、Spring MVC和Hibernate的项目。 首先,让我们了解Maven。Maven是Apache开发的一款项目管理和综合工具,它通过一个项目对象...

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    maven+springmvc+spring+hibernate+freemarker

    maven管理项目+springmvc+spring+hibernate+freemarker 集成框架。其中注解格式清晰,hibernate进行了代码封装,对开发效率有了提高,对异常进行了封装。freemarker也有优化,参考common包下。对日期工具类有各种...

    Struts2+Spring3+Hibernate4+Maven+EasyUI+mysql 源代码整合入门

    Struts2+Spring3+Hibernate4+Maven+EasyUI+mysql +jar包 源代码 测试可运行 的 带mysql数据库 改自孙宇的实例 EasyUI 实现 日历 运行,请先注册 jar包在target\sshe-0.0.1-SNAPSHOT\WEB-INF\lib

    Hibernate4.2+Spring3.2+SpringMVC+shiro1.2.2+Maven

    Hibernate4.2+Spring3.2+SpringMVC+shiro1.2.2+Maven整合和简单的登陆,导入工程后见description,内容简单基础,想做成脚手架供自己以后使用,望高手勿喷有什么宝贵意见望留言,谢谢

    Maven+struts2+Hibernate+mysql增删改查

    在IT行业中,构建Web应用程序是常见的任务之一,而"Maven+Struts2+Hibernate+MySQL"的组合是一种经典的Java EE开发框架,用于实现高效的数据库操作和动态网站功能。以下将详细解析这一组合中的各个组件及其在增删改...

    maven3+struts2+spring+ibatis

    maven3+struts2+spring+ibatis,本来是用maven3+struts2+spring+hibernate但考虑到hibernate在多表级联查询的时候执行效率不高,所以改用性能更好不过sql比较麻烦的的ibatis,本项目只有登录和插入数据,仅供参考: ...

    Maven + Tapestry5.3.8 + Spring4.0.5 + Oracle10g

    这是Tapestry5.3.8 版本的一个大Demo,集合Spring4.0, 采用Maven 项目管理工具,没有集合Hibernate。 之所以说是个大Demo,是因为这项目中包含的内容并不少,包含: 1)解决了Tapestry5.3.8中文Bug问题 2)Tapestry...

    maven+hibernate+spring+springmvc

    在IT领域,"maven+hibernate+spring+springmvc"是一个常见的技术栈,用于构建企业级的Java Web应用程序。这个技术组合涵盖了项目管理、持久层框架、应用上下文和依赖注入,以及Web MVC框架等多个核心部分。下面将...

    基于maven3+spring3+springMVC+hibernate3+mysql的图书管理小系统

    基于maven3+spring3+hibernate3+mysql的图书管理系统demo,主要为了练习在intellij上开发maven项目的体验和重新练习一下配置springmvc+hibernate+spring

    springmvc4.1+spring4.1+mybatis3.2+spring-security3.2的maven环境搭建

    在本项目中,我们主要关注的是一个基于Spring MVC 4.1、Spring 4.1、MyBatis 3.2以及Spring Security 3.2的Maven环境的搭建过程。下面将详细介绍这些技术栈的核心概念、它们如何协同工作以及如何在实际开发环境中...

    maven+struts2+hibernate3+spring+eclipse项目

    该项目是一个经典的Java Web开发组合,使用了Maven作为构建工具,Struts2作为表现层框架,Hibernate3作为持久层框架,Spring3作为依赖注入和事务管理框架,且基于Eclipse IDE进行开发。以下是对这些技术栈的详细说明...

    零配置Maven+Spring MVC4.2.4+Hibernate5.2.10

    零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10

Global site tag (gtag.js) - Google Analytics