Struts Spring Hibernate快速入门-Java基础-Java-编程开发
来源:互联网 发布:毒舌电影被禁 知乎 编辑:程序博客网 时间:2024/05/01 16:43
本文是开发基于spring的web应用的入门文章,前端采用Struts MVC框架,中间层采用spring,后台采用Hibernate。
本文包含以下内容:
·配置Hibernate和事务
·装载Spring的applicationContext.xml文件
·建立业务层和DAO之间的依赖关系
·将Spring应用到Struts中
简介
这个例子是建立一个简单的web应用,叫MyUsers,完成用户管理操作,包含简单的数据库增,删,查,该即CRUD(新建,访问,更新,删除)操作。这是一个三层的web应用,通过Action(Struts)访问业务层,业务层访问DAO。图一简要说明了该应用的总体结构。图上的数字说明了流程顺序-从web(UserAction)到中间层(UserManager),再到数据访问层(UserDAO),然后将结果返回。
Spring层的真正强大在于它的声明型事务处理,帮定和对持久层支持(例如Hiberate和iBATIS)
以下下是完成这个例子的步骤:
1. 安装Eclipse插件
2. 数据库建表
3. 配置Hibernate和Spring
4. 建立Hibernate DAO接口的实现类
5. 运行测试类,测试DAO的CRUD操作
6. 创建一个处理类,声明事务
7. 创建web层的Action和model
8. 运行Action的测试类测试CRUD操作
9. 创建jsp文件通过浏览器进行CRUD操作
10. 通过浏览器校验jsp
安装eclipse插件
1. Hibernate插件http://www.binamics.com/hibernatesync
2. Spring插件http://springframework.sourceforge.net/spring-ide/eclipse/updatesite/
3. MyEclipse插件(破解版)
4. Tomcat插件. tanghan
5. 其他插件包括xml,jsp,
数据库建表
新建一个web project,新建后的目录结构同时包含了新建文件夹page用于放jsp文件,和源文件夹test用于放junit测试文件。同时将用到的包,包括struts,hibernate,spring都导入到lib目录下。
创建持久层O/R mapping
1. 在src/com.jandar.model下用hibernate插件从数据库导出app_user的.hbm.xml文件改名为User.hbm.xml
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping package="com.jandar.model">
<class name="User" table="APP_USER">
<id
column="ID"
name="id"
type="integer"
>
<generator class="assigned" />
</id>
<property
column="LASTNAME"
length="10"
name="lastname"
not-null="false"
type="string"
/>
<property
column="FIRSTNAME"
length="10"
name="firstname"
not-null="true"
type="string"
/>
</class>
</hibernate-mapping>
注:在eclipse下自动生成的对象文件不完全相同,相同的是每个对象文件必须实现Serializable接口,必需又toString和hashCode方法;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
public class BaseObject implements Serializable {
public String toString() {
return ToStringBuilder.reflectionToString(this,
ToStringStyle.MULTI_LINE_STYLE);
}
public boolean equals(Object o) {
return EqualsBuilder.reflectionEquals(this, o);
}
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}
}
public class User extends BaseObject {
private Long id;
private String firstName;
private String lastName;
/**
* @return Returns the id.
*/
public Long getId() {
return id;
}
/**
* @param id The id to set.
*/
public void setId(Long id) {
this.id = id;
}
/**
* @return Returns the firstName.
*/
public String getFirstName() {
return firstName;
}
/**
* @param firstName The firstName to set.
*/
public void setFirstName(String firstName) {
this.firstName = firstName;
}
/**
* @return Returns the lastName.
*/
public String getLastName() {
return lastName;
}
/**
* @param lastName The lastName to set.
*/
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
[1][2]
- Struts Spring Hibernate快速入门-Java基础-Java-编程开发
- JAVA框架三剑客 - Struts+Spring+Hibernate快速入门
- struts+spring+hibernate快速入门
- struts+spring+hibernate快速入门
- Struts+Spring+Hibernate快速入门
- Struts+Spring+Hibernate快速入门
- Struts+Spring+Hibernate快速入门
- Struts+Spring+Hibernate快速入门
- Struts+Spring+Hibernate快速入门
- struts+spring+hibernate快速入门
- Struts+Spring+Hibernate快速入门
- Struts+Spring+Hibernate快速入门
- Struts+Spring+Hibernate快速入门
- Struts+Spring+Hibernate快速入门
- struts+spring+hibernate快速入门
- Struts+Spring+Hibernate快速入门
- Struts+Spring+Hibernate快速入门
- Struts+Spring+Hibernate快速入门
- Eclipse Form程序设计快速入门-Java基础-Java-编程开发
- JBuilder2005实现重构之杂项重构-Java基础-Java-编程开发
- Java秘史:隐藏在SWT/Swing背后的故事-Java基础-Java-编程开发
- Java开源项目Hibernate-Java基础-Java-编程开发
- designed for 和designed to 区别
- Struts Spring Hibernate快速入门-Java基础-Java-编程开发
- Weblogic81和Hibernate 的集成问题-Java基础-Java-编程开发
- 用Java Swing作一个日历控制程序-Java基础-Java-编程开发
- 在Eclipse中利用XMLBuddy开发XML-Java基础-Java-编程开发
- 书评:Java的盛宴(上)-Java基础-Java-编程开发
- 书评:Java的盛宴(中)-Java基础-Java-编程开发
- CORBA对象生命周期之实现和内存管理-Java基础-Java-编程开发
- 书评:Java的盛宴(下)-Java基础-Java-编程开发
- Java中使用JCOM操作Office对象-Java基础-Java-编程开发