Maven创建Struts2 + Spring + Hibernate项目

来源:互联网 发布:plc编程软件免费下载 编辑:程序博客网 时间:2024/06/05 02:27

eclipse创建Maven工程

  1. 菜单File->New->Project...选择Project...,弹出Project对话框

  2. 选择Maven下面的MavenProject。Next,弹出NewMaven Project对话框

  3. 勾选Createa simple project(skip archetype selection),勾选Usedefault Workspace location,Next

  4. 输入GroupId(这个项目所属的项目组,一般输入的是一个倒着写的域名),ArtifactId(项目的名称)。Name和Description可选,Name是这个项目的别名,一边起一个比较容易交流的名字,Description是项目的文字描述。Finish

这样一个Maven工程就创建出来了。


整合过程


添加MySQL的java驱动

  1. 在pom.xml中添加mysql-connector-java依赖

  2. 项目快捷菜单选择BuildPath->Configure Build Path...,弹出Propertiesfor Myproject

  3. 右侧窗口选择Libraries标签页,点击窗口右侧的Add JARs按钮,找到mysql-connector-java-x.x.x-bin.jar包,OK。


编辑pom.xml文件,添加spring和hibernate依赖。

1. 从刚创建出来的Maven工程的根目录找到pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>name.henry.knowledgepower</groupId>  <artifactId>ebooks</artifactId>  <packaging>war</packaging>  <version>0.0.1-SNAPSHOT</version>  <name>ebooks Maven Webapp</name>  <url>http://maven.apache.org</url>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>    <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-context</artifactId>    <version>4.3.3.RELEASE</version>    </dependency>    <dependency>    <groupId>org.hibernate</groupId>    <artifactId>hibernate-core</artifactId>    <version>5.2.4.Final</version>    </dependency>    <dependency>    <groupId>org.apache.struts</groupId>    <artifactId>struts2-core</artifactId>    <version>2.5.5</version>    </dependency>    <dependency>    <groupId>org.apache.logging.log4j</groupId>    <artifactId>log4j-api</artifactId>    <version>2.7</version>    </dependency>    <dependency>    <groupId>org.apache.logging.log4j</groupId>    <artifactId>log4j</artifactId>    <version>2.7</version>    <type>pom</type>    </dependency>    <dependency>    <groupId>org.apache.struts</groupId>    <artifactId>struts2-spring-plugin</artifactId>    <version>2.5.5</version>    </dependency>    <dependency>    <groupId>commons-fileupload</groupId>    <artifactId>commons-fileupload</artifactId>    <version>1.3.2</version>    </dependency>    <dependency>    <groupId>commons-io</groupId>    <artifactId>commons-io</artifactId>    <version>2.4</version>    </dependency>    <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>5.1.6</version></dependency><dependency>    <groupId>org.apache.logging.log4j</groupId>    <artifactId>log4j-core</artifactId>    <version>2.7</version></dependency>    <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-orm</artifactId>    <version>4.3.3.RELEASE</version>    </dependency>  </dependencies>  <build>    <finalName>ebooks</finalName>  </build></project>

2. web.xml

假设struts.xml和application都是放在WEB-INF目录下。

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">  <display-name>Archetype Created Web Application</display-name>    <welcome-file-list>      <welcome-file>login.jsp</welcome-file>  </welcome-file-list>  <filter>      <filter-name>struts2</filter-name>      <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>  </filter>  <filter-mapping>      <filter-name>struts2</filter-name>      <url-pattern>/*</url-pattern>  </filter-mapping>  <listener>      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener></web-app>

3. 在WEB-INF目录下创建applicationContext.xml文件,配置Spring和Hibernate的整合信息

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:c="http://www.springframework.org/schema/c"    xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"    xmlns:tx="http://www.springframework.org/schema/tx"    xsi:schemaLocation="http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans-4.1.xsd    http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context-4.1.xsd    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName">            <value>com.mysql.jdbc.Driver</value>        </property>        <property name="url">            <value>jdbc:mysql://localhost:3306/ebook</value>        </property>        <property name="username"><value>root</value></property>        <property name="password"><value>3214</value></property></bean>    <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource"></property>        <property name="mappingResources">            <list>                <value>name/henry/knowledgepower/ebooks/entity/User.hbm.xml</value>            </list>        </property>        <property name="hibernateProperties">            <props>                <prop key="dialect">org.hibernate.dialect.MySQLDialect</prop>                <prop key="hibernate.show_sql">true</prop>            </props>        </property></bean><bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory"/></bean>    <bean id="userDAO" class="name.henry.knowledgepower.ebooks.dao.impl.UserDAOImpl">    <property name="sessionFactory" ref="sessionFactory"></property>    </bean>    <tx:annotation-driven transaction-manager="transactionManager"/>    <bean id="userService" class="name.henry.knowledgepower.ebooks.service.impl.UserServiceImpl">    <property name="userDAO" ref="userDAO"></property>    </bean>    <bean id="loginAction" class="name.henry.knowledgepower.ebooks.action.LoginAction"><property name="userService" ref="userService"></property>    </bean></beans>

4. struts.xml

在WEB-INF目录下创建struts.xml文件,配置Action类信息。

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"    "http://struts.apache.org/dtds/struts-2.5.dtd"><struts><constant name="struts.objectFactory" value="spring" />    <package name="ebooks" extends="struts-default">        <action name="login" class="loginAction">            <result name="success">/success.jsp</result>            <result name="failer">/error.jsp</result>        </action>    </package></struts>


总结Struts2+ Spring + Hibernate整合的步骤


持久化层

  1. 创建持久化类——根据表中字段创建POJO

  2. 创建表与持久化类的映射文件(表名.hbm.xml

DAO层(Spring+Hibernate)

  1. Spring管理SessionFactory.编辑applicationContext.xml添加sessionFactorybean

  2. 创建DAO接口文件,定义数据库操作的所有方法。

  3. 创建DAO实现类,通过HibernateDaoSurport的支持实现DAO数据库操作的所有方法。

    业务逻辑层

  4. 创建业务逻辑接口(service类),方法和DAO的方法一致。

  5. 使用DAO对象,实现service类接口。

Spring+ Struts

  1. 定义分发器(编辑web.xml

  2. 创建Action

  3. 编写jsp界面文件

  4. 配置控制器(编辑applicationContext.xml),注入业务逻辑组件

  5. 定义处理结果与视图资源的关系(编写struts.xml



三个配置文件的作用:
web.xml
web.xml是一个网站的入口,所以所有要调用到的其他配置文件都要在这里配置。它配置分发器,监听器,struts.xml的路径(默认/WEB-INF/struts.xml,则不用配置),配置applicationContext.xm(默认/WEB-INF/applicationContext.xml,则不用配置)
struts.xml配置所有和页面交互的Action类,这里的class属性对应的是这个action 在applicationContext.xml中注册的bean 的id,而不是action类的路径。
applicationContext.xml配置所有bean类。


源码下载地址 http://download.csdn.net/detail/gongjijiao/9693264


0 0
原创粉丝点击