Spring + Struts2 + Hibernate + Java编译命令

介绍

在Java Web开发中,Spring、Struts2和Hibernate是常用的框架之一。Spring用于实现IoC和AOP,Struts2用于MVC开发,Hibernate用于数据持久化。本文将介绍如何使用这些框架,并提供相应的代码示例。

环境准备

在使用这些框架之前,我们需要先准备好相应的环境。以下是所需的环境和工具:

  • JDK:用于编译和运行Java代码。
  • Eclipse:用于开发Java应用程序。
  • Maven:用于管理项目依赖和构建。
  • Tomcat:用于部署和运行Web应用程序。
  • MySQL:用于存储和管理数据。

框架整合

首先,我们需要创建一个Maven项目,并在项目的pom.xml文件中添加所需的依赖。以下是主要的依赖:

<dependencies>
  <!-- Spring -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.8</version>
  </dependency>
  
  <!-- Struts2 -->
  <dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>2.5.26</version>
  </dependency>
  
  <!-- Hibernate -->
  <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.4.32.Final</version>
  </dependency>
  
  <!-- MySQL Connector -->
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.26</version>
  </dependency>
</dependencies>

接下来,我们需要配置Spring、Struts2和Hibernate的相关文件。

Spring配置

在src/main/resources目录下创建一个spring.xml文件,并添加以下内容:

<beans xmlns="
       xmlns:xsi="
       xsi:schemaLocation="
        
  
  <!-- 数据源配置 -->
  <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/mydatabase"/>
    <property name="username" value="root"/>
    <property name="password" value="password"/>
  </bean>
  
  <!-- Hibernate配置 -->
  <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="packagesToScan" value="com.example.model"/>
    <property name="hibernateProperties">
      <props>
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</prop>
        <prop key="hibernate.hbm2ddl.auto">update</prop>
      </props>
    </property>
  </bean>
  
  <!-- Hibernate事务管理器 -->
  <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
  </bean>
  
  <!-- 启用注解驱动 -->
  <mvc:annotation-driven/>
</beans>

Struts2配置

在src/main/resources目录下创建一个struts.xml文件,并添加以下内容:

<!DOCTYPE struts PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
  "
  
<struts>
  <constant name="struts.devMode" value="true"/>
  
  <!-- 配置Action -->
  <package name="default" extends="struts-default">
    <action name="hello" class="com.example.action.HelloAction">
      <result>/hello.jsp</result>
    </action>
  </package>
</struts>

Hibernate配置

在src/main/resources目录下创建一个hibernate.cfg.xml文件,并添加以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "
  
<hibernate-configuration>
  <session-factory>
    <property name="hibernate