您的位置:首页 > 编程语言 > Java开发

Maven创建Struts2 + Spring + Hibernate项目

2016-11-29 16:03 375 查看
eclipse创建Maven工程

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

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

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

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

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

整合过程

添加MySQL的java驱动

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

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

右侧窗口选择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整合的步骤

持久化层

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

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

DAO层(Spring+Hibernate)

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

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

创建DAO实现类,通过HibernateDaoSurport的支持实现DAO数据库操作的所有方法。
业务逻辑层

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

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

Spring+ Struts

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

创建Action类

编写jsp界面文件

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

定义处理结果与视图资源的关系(编写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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts spring maven eclipse ssh