`
history1918
  • 浏览: 10173 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring3.0+Struts2.2+Hibernate3.6+ExtJS3.2.0+DWR框架 整合一

阅读更多
一、系统构建
1、数据持久层用Hibernate注释,数据库表根据配置自动生成。
@Entity
@Table(name = "t_user")
public class User {

private int id;
private String user_code;
private String pwd;// 用户密码
private String name;// 用户姓名
private String sex;// 用户性别
private String email;// 用户email
private int creator_id;// 用户创建者id
private Date created_dt = new Date();// 创建日期
private int del_flag;// 删除标志

private Popedom popedom;// 身份对象
private Department department;// 部门对象

/*
* @Id
*
* @GenericGenerator(name = "idGenerator", strategy = "uuid") //
* 这个是hibernate的注解
*
* @GeneratedValue(generator = "idGenerator") // 使用uuid的生成策略
*/
@Id
@GeneratedValue
public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

@Column(unique = true)
public String getUser_code() {
return user_code;
}

public void setUser_code(String user_code) {
this.user_code = user_code;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPwd() {
return pwd;
}

public void setPwd(String pwd) {
this.pwd = pwd;
}

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public int getCreator_id() {
return creator_id;
}

public void setCreator_id(int creator_id) {
this.creator_id = creator_id;
}

public int getDel_flag() {
return del_flag;
}

public void setDel_flag(int del_flag) {
this.del_flag = del_flag;
}

@ManyToOne(cascade = { CascadeType.REFRESH })
public Popedom getPopedom() {
return popedom;
}

public void setPopedom(Popedom popedom) {
this.popedom = popedom;
}

@ManyToOne(cascade = { CascadeType.REFRESH })
public Department getDepartment() {
return department;
}

public void setDepartment(Department department) {
this.department = department;
}

public Date getCreated_dt() {
return created_dt;
}

public void setCreated_dt(Date created_dt) {
this.created_dt = created_dt;
}
}
/**
* 权限类
*
* @author
*/
@Entity
@Table(name = "t_popedom")
public class Popedom {
private int id;// id
private String status;// 身份
private Set<User> users = new HashSet<User>();// 属于该身份的成员
@Id
@GeneratedValue
public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}
@OneToMany(mappedBy="popedom")
public Set<User> getUsers() {
return users;
}

public void setUsers(Set<User> users) {
this.users = users;
}

}
/**
* 部门类
*
* @author
*/
@Entity
@Table(name = "t_department")
public class Department {
private Integer id;// 部门id
private String name;// 部门名称
private String description;// 部门描述

private User director;// 部门主管




private Set<User> users = new HashSet<User>();// 部门成员

@Id
@GeneratedValue
public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description;
}
@ManyToOne
public User getDirector() {
return director;
}

public void setDirector(User director) {
this.director = director;
}
@OneToMany(mappedBy = "department")
public Set<User> getUsers() {
return users;
}

public void setUsers(Set<User> users) {
this.users = users;
}

public String toString() {
return name;
}
}
2、WEB-INF目录下applicationContext.xml相关配置
<?xml version="1.0" encoding="UTF-8"?>
<!-- 指定Spring配置文件的Schema信息 -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
  http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config />
<context:component-scan base-package="com.hanz" />

<!-- <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/spring" /> <property
name="username" value="root" /> <property name="password" value="bjsxt" />
</bean> -->

<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property>
</bean>

<!-- 定义数据源Bean,使用C3P0数据源实现 -->
<!-- 设置连接数据库的驱动、URL、用户名、密码 连接池最大连接数、最小连接数、初始连接数等参数 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close" p:driverClass="${jdbc.driverClassName}"
p:jdbcUrl="${jdbc.url}" p:user="${jdbc.username}" p:password="${jdbc.password}"
p:maxPoolSize="40" p:minPoolSize="1" p:initialPoolSize="1"
p:maxIdleTime="20" />



<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- <property name="annotatedClasses"> <list> <value>com.bjsxt.model.User</value>
<value>com.bjsxt.model.Log</value> </list> </property> -->
<property name="packagesToScan" value="com.hanz.domain"/>


<!-- 定义Hibernate的SessionFactory的属性 -->
<property name="hibernateProperties">
<!-- 指定数据库方言、是否自动建表 是否生成SQL语句等 -->
<value>
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=true
hibernate.format_sql=true
#开启二级缓存
hibernate.cache.use_second_level_cache=true
#设置二级缓存的提供者
hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
</value>
</property>
</bean>

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>



<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

<!-- 配置事务拦截器 -->
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="get*" read-only="true" />
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>




</beans>
分享到:
评论

相关推荐

    真实项目:Hibernate3.3.2+Spring3.0+Struts2.2.3+ext3.4.0

    项目配置:Hibernate3.3.2+Spring3.0+Struts2.2.3 + ext3.4.0,真实项目实现,项目中可参考经典权限设计,通用数据录入,批量数据处理(poi),统一的JSON格式封装,灵活的组合模式设计,EXTJS面向组件编程参考......

    Spring3.0+Hibernate4.0+SpringMVC整合ExtJS4

    在本项目中,我们探讨的是如何将三个主流的Java企业级框架——Spring 3.0、Hibernate 4.0和Spring MVC与JavaScript前端框架ExtJS 4进行深度整合,以构建一个高效、灵活且功能丰富的Web应用。这个整合旨在提供一个...

    ExtJSweb 开发指南中的 简单图书管理系统 ExtJS3.0+spring+hibernate+struts

    在本项目中,我们探讨的是一个基于Web的简单图书管理系统,该系统采用了经典的Java企业级开发框架:ExtJS 3.0、Spring、Hibernate以及Struts。这些技术的结合为开发高效、可维护的Web应用提供了强大的支持。下面将...

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 做的综合管理系统,数据库采用MYSQL,分层清晰,业务相对复杂,是学习框架不可多得的项目。这个是分卷,同时下载2.3.4部分

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统(第二部分)

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 做的综合管理系统,数据库采用MYSQL,分层清晰,业务相对复杂,是学习框架不可多得的项目。

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统(第四部分)

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 做的综合管理系统,数据库采用MYSQL,分层清晰,业务相对复杂,是学习框架不可多得的项目。

    extjs3.0+struts2源码

    ExtJS 3.0 和 Struts2 是两个在Web开发领域广泛应用的开源框架。ExtJS 是一个用于构建富客户端(Rich Internet Applications,RIA)的JavaScript库,它提供了丰富的组件库和用户界面,使得开发者可以创建出具有桌面...

    extjs+spring+struts+hibernate

    在“extjs+spring+struts+hibernate”整合中,通常会利用Spring作为核心框架,管理整个应用的依赖和事务;Struts负责处理HTTP请求,并转发到相应的业务逻辑;Hibernate则负责对象与数据库之间的映射,实现数据的持久...

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统(第三部分)

    综上所述,这个“DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi”综合管理系统结合了这些技术的优势,构建了一个分层清晰、业务复杂的系统。DWR2和EXTJS2.2负责前端交互和用户界面,提供流畅的用户体验;Hibernate3.3...

    DWR+extjs+spring+hibernate

    总结起来,"DWR+extjs+spring+hibernate"的组合是现代Web应用开发的一个强大工具集,它能够帮助开发者快速构建出交互性强、性能优异的企业级应用。通过深入理解和熟练掌握这四个技术,可以显著提升开发者的技能水平...

    Hibernate+Spring+Struts2+ExtJS整合开发实例

    "Hibernate+Spring+Struts2+ExtJS整合开发实例"就是一个典型的Java Web应用程序开发案例,它将四个关键组件结合在一起,以实现高效、模块化的后端和前端功能。 **Hibernate** 是一个流行的Java对象关系映射(ORM)...

    jbpm4.0+ext3.0+spring+hibernate整合实例

    将jbpm4.0、EXT3.0、Spring和Hibernate整合在一起,可以构建出一个功能强大的业务流程管理系统。Spring作为整体架构的胶水,管理各组件的生命周期;Hibernate负责数据持久化,处理与数据库的交互;jbpm4.0则处理业务...

    Struts2(json-plugin) + Spring2 + ExtJS2.2 开源网络硬盘系统

    【标题】"Struts2(json-plugin) + Spring2 + ExtJS2.2 开源网络硬盘系统"是一个基于Java技术栈的开源项目,它利用了Struts2框架的json-plugin插件,Spring2作为服务层管理和依赖注入框架,以及ExtJS2.2作为前端展示...

    strut2+hibernate+spring+extjs3.0+excel 动态加载grid

    strut2+hibernate+spring+extjs3.0+excel 动态加载grid 数据导出excel,导入excel datasource自己修改你自己的数据源,数据库中的表可见实体类创建,或者自己修改实体类

    struts2.0+spring2.2+ibatis+quartz+extjs3.0 短信调度平台

    采用了struts2.0,spring2.2,ibatis,quartz,extjs3.0 实现了关于短信的调度框架,对接收人维护,动态添加每日短信数据,编写短信模版,最后通过quartz定时发送,因为短信接口收费所以不提供,需要jar包自己下载,...

    ssh框架(spring+struts2+hibernate)

    SSH框架,全称为Spring、Struts2和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个框架集合提供了模型-视图-控制器(MVC)架构模式,数据库持久化,以及强大的前端展示能力,使得开发者能高效地构建...

    EXTJS3.0+Struts2的学习案例

    该项目是用EXTJS+Struts2,是实现EXTJS与后台数据交互的例子; 我从网上找的EXTJS的相关例子程序,自己在本地eclipse中创建成了完整项目,修改了代码BUG和浏览器兼容问题; 现在将完整的项目代码打包分享,对于想...

Global site tag (gtag.js) - Google Analytics