spring+struts+hibernte环境搭建_第1页
spring+struts+hibernte环境搭建_第2页
spring+struts+hibernte环境搭建_第3页
spring+struts+hibernte环境搭建_第4页
spring+struts+hibernte环境搭建_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/yulongBB/SSH 在 github上创建项目仓库 创建完成 建立 Maven工程 新建 java web 项目 更改默认 JDK 环境 在源文件目录空白处右键打开 Git Bash Here 在 Git 中依次输入以下命令 git init git add * git commit -m “新建 web 项“ git remote add origin /yulongBB/SSH.git git push -u orign master 项目上传成功 创建 Maven 标准目录 src/main/java src/main/resources src/test/java src/test/resources 发布项目 Maven install Maven 工程创建成功 搭建 Spring 开发环境 下载 Spring3 需要的 jar 包 spring-core spring-context spring-jdbc spring-beans spring-web spring-expression spring-orm 在 pom.xml 中编写 Spring 需要的包 org.springframework spring-core 3.1.2.RELEASE org.springframework spring-context 3.1.2.RELEASE org.springframework spring-jdbc 3.1.2.RELEASE org.springframework spring-beans 3.1.2.RELEASE org.springframework spring-web 3.1.2.RELEASE org.springframework spring-expression 3.1.2.RELEASE org.springframework spring-orm 3.1.2.RELEASE maven 会自动下载这些包以及相关的依赖 jar 包 编写 spring 配置文件 在 src/main/resources 目录下创建一个 perties 文件 perties 文件主要是用来编写一些系统的配置信息,例如数据库连接信息,perties 文 件中的内容暂时先不编写,等整合到 Hibernate 时再编写具体的数据库连接信息。 编写单元测试 首先, 在 src/main/java 中创建 com.ssh.service 包, 在包中编写一个 UserService 接口 package com.ssh.service; public interface UserService void test(); 然后在 src/main/java 中创建 com.ssh.service.impl 包,在包中编写 UserServiceImpl 实现类 package com.ssh.service.impl; import org.springframework.stereotype.Service; import com.ssh.service.UserService; Service(“userService“) public class UserServiceImpl implements UserService Override public void test() System.out.println(“Hello World“); 进行单元测试时需要使用到 Junit,所以需要在 pom.xml 文件中添加 Junit 的 jar 包描述 junit junit 4.12 test 在 src/main/test 中创建 com.ssh.test 包, 在包中编写 TestSpring 类 package com.ssh.test; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.ssh.service.UserService; public class TestSpring Test public void test() / 通过 spring.xml 配置文件创建 Spring 的应用程序上下文环境 ApplicationContext ac = new ClassPathXmlApplicationContext( “classpath:spring.xml“); / 从 Spring 的 IOC 容器中获取 bean 对象 UserService userService = (UserService) ac.getBean(“userService“); / 执行测试方法 userService.test(); JUnit Test 运行 在 web.xml 中配置 Spring 监听器 org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath:spring.xml 本地代码与 github 项目同步 git pull -rebase origin master Spring3 开发环境搭建成功 #搭建 Struts2 开发环境并整合 Spring3 下载 Struts2 需要的 jar 包 1.strtus2-core 2.struts2-spring-plugin(struts2 和 Spring 整合时需要使用到的插件) 3.struts2-convention-plugin(使用了这个插件之后就可以采用注解的方式配置 Struts 的 Action 免去了在 struts.xml 中的繁琐配置项) 4.struts2-config-browser-plugin(config-browser-plugin 插件不是必须的但是使用了这个插件之后就可以 很方便的浏览项目中的所有 action 及其与 jsp view 的映射) 在 pom.xml 文件中编写 Struts2 所需要的 jar 包 Maven 会自动下载这些包 org.apache.struts struts2-core 2.3.16 javassist javassist org.apache.struts struts2-convention-plugin 2.3.20 org.apache.struts struts2-config-browser-plugin 2.3.20 org.apache.struts struts2-spring-plugin 编写 Struts.xml 配置文件 在 web.xml 中配置 Struts2 的过滤器 struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 *.action 编写 Action 测试 package com.ssh.action; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.springframework.beans.factory.annotation.Autowired; import com.ssh.service.UserService; ParentPackage(“basePackage“) Action(value = “userAction“) / 使用 convention-plugin 插件提供的Action 注解将一个普通 java 类标注为一个可以处理用户请求的 Action,Action 的名字为 userAction Namespace(“/“) / 使用 convention-plugin 插件提供的Namespace 注解为这个 Action 指定一个命名空间 public class UserAction /* * 注入 userService */ Autowired private UserService userService; /* * http:/localhost:8080/SSH/userAction!test.action MethodName: test */ public void test() System.out.println(“进入 TestAction“); userService.test(); http:/localhost:8080/SSH/userAction!test.action 与 github 同步 git add * git commit -m “搭建 struts2 开发环境并整合 spring“ git push origin master #搭建 Hibernate4 开发环境并整合 Spring3 下载 Hibernate4 需要的 jar 包 hibernate-core org.hibernate hibernate-core 4.1.7.Final 添加数据库驱动 jar 包 mysql mysql-connector-java 5.1.34 添加数据库连接池 jar 包 com.alibaba druid 1.0.12 添加 aspectjweaver 包 org.aspectj aspectjweaver 1.8.5 编写连接数据库的配置信息 hibernate.dialect=org.hibernate.dialect.MySQLDialect driverClassName=com.mysql.jdbc.Driver validationQuery=SELECT 1 jdbc_url=jdbc:mysql:/localhost:3306/ssh?useUnicode=true import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; Entity Table(name = “T_USER“, schema = “ssh“) public class User implements java.io.Serializable / Fields private String id; private String name; private String pwd; private Date createdatetime; private Date modifydatetime; / Constructors /* default constructor */ public User() /* minimal constructor */ public User(String id, String name, String pwd) this.id = id; = name; this.pwd = pwd; /* full constructor */ public User(String id, String name, String pwd, Date createdatetime, Date modifydatetime) this.id = id; = name; this.pwd = pwd; this.createdatetime = createdatetime; this.modifydatetime = modifydatetime; / Property accessors Id Column(name = “ID“, unique = true, nullable = false, length = 36) public String getId() return this.id; public void setId(String id) this.id = id; Column(name = “NAME“, nullable = false, length = 100) public String getName() return ; public void setName(String name) = name; Column(name = “PWD“, nullable = false, length = 32) public String getPwd() return this.pwd; public void setPwd(String pwd) this.pwd = pwd; Temporal(TemporalType.TIMESTAMP) Column(name = “CREATEDATETIME“, length = 7) public Date getCreatedatetime() return this.createdatetime; public void setCreatedatetime(Date createdatetime) this.createdatetime = createdatetime; Temporal(TemporalType.TIMESTAMP) Column(name = “MODIFYDATETIME“, length = 7) public Date getModifydatetime() return this.modifydatetime; public void setModifydatetime(Date modifydatetime) this.modifydatetime = modifydatetime; 在 src/main/java 中创建 com.ssh.dao 包,在包中编写一个 UserDao 接口 package com.ssh.dao; import java.io.Serializable; import com.ssh.model.User; public interface UserDao Serializable save(User user); 在 src/main/java 中创建 com.sun.dao.impl 包,在包中编写 UserDaoImpl 实现类 package com.ssh.dao.impl; import java.io.Serializable; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import com.ssh.dao.UserDao; import com.ssh.model.User; Repository(“userDao“) public class UserDaoImpl implements UserDao Autowired private SessionFactory sessionFactory; Override public Serializable save(User user) return sessionFactory.getCurrentSession().save(user); 在之前创建好的 UserService 接口中添加一个 save 方法 package com.ssh.service; import java.io.Serializable; import com.ssh.model.User; public interface UserService void test(); Serializable save(User user); 在 UserServiceImpl 类中实现 save 方法 package com.ssh.service.impl; import java.io.Serializable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ssh.dao.UserDao; import com.ssh.model.User; import com.ssh.service.UserService; Service(“userService“) public class UserServiceImpl implements UserService Autowired private UserDao userDao; Override public void test() System.out.println(“Hello World“); Override public Serializable save(User user) / TODO Auto-generated method stub return userDao.save(user); 在 src/main/test 下的 com.sun.test 包中编写 TestHibernate 类 package com.ssh.test; import java.util.Date; import java.util.UUID; import org.junit.Before; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.ssh.model.User; import com.ssh.service.UserService; public class TestHibernate private UserService userService; /* * 这个 before 方法在所有的测试方法之前执行,并且只执行一次 所有做 Junit 单元测试时一些初始 化工作可以在这个方法里面进行 * 比如在 before 方法里面初始化 ApplicationContext 和 userService */ Before public void before() ApplicationContext ac = new ClassPathXmlApplicationContext( new String “spring.xml“, “spring-hibernate.xml“ ); userService = (UserService) ac.getBean(“userService“); Test public void testSaveMethod() / ApplicationContext ac = new ClassPathXmlApplicationContext( / new String “spring.xml“, “spring-hibernate.xml“ ); / UserService userService = (UserService) ac.getBean(“userService“); User user = new User(); user.setId(UUID.randomUUID().toString().replaceAll(“-“, “); user.setName(“jeremy“); user.setPwd(“123“); user.setCreatedatetime(new Date(); userService.save(user); 自动建表并插入一条数据 查看数据库 Hibernate4 开发环境的搭建并且与 Spring 整合成功 #三大框架综合测试 完善 web.xml 文件中的配置 index.jsp org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath:spring.xml,classpath:spring-hibernate.xml org.springframework.web.util.IntrospectorCleanupListener openSessionInViewFilter org.springframework.orm.hibernate4.support.OpenSessionInViewFilter singleSession true openSessionInViewFilter *.action struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 *.action druidStatView com.alibaba.druid.support.http.StatViewServlet druidStatView /druid/* 编写测试代码 package com.ssh.action; import java.util.Date; import java.util.UUID; import org.apache.struts2.convention.annotation.Action; imp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论