首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

SSH 框架搭建步驟指南:從 Maven 依賴到整合測試

     編輯:程式設計綜合問答

環境準備

  • JDK 1.8+、Maven 3.6+、Tomcat 9、MySQL 5.7+、IDE (IntelliJ IDEA / Eclipse)

步驟 1:建立 Maven Web 專案

mvn archetype:generate -DgroupId=com.example -DartifactId=ssh-demo -DarchetypeArtifactId=maven-archetype-webapp

步驟 2:pom.xml 核心依賴 (版本統一管理)

<properties>
    <spring.version>5.3.30</spring.version>
    <struts.version>2.5.30</struts.version>
    <hibernate.version>5.6.15.Final</hibernate.version>
    <mysql.version>8.0.33</mysql.version>
</properties>

<dependencies>
    <!-- Spring -->
    <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${spring.version}</version></dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version><scope>test</scope></dependency>

    <!-- Struts2 -->
    <dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>${struts.version}</version></dependency>
    <dependency><groupId>org.apache.struts</groupId><artifactId>struts2-spring-plugin</artifactId><version>${struts.version}</version></dependency>

    <!-- Hibernate -->
    <dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>${hibernate.version}</version></dependency>
    <dependency><groupId>org.hibernate</groupId><artifactId>hibernate-entitymanager</artifactId><version>${hibernate.version}</version></dependency>

    <!-- MySQL & Pool -->
    <dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>${mysql.version}</version></dependency>
    <dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId><version>5.0.1</version></dependency>

    <!-- Logging -->
    <dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>2.0.9</version></dependency>
    <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.4.11</version></dependency>
</dependencies>

步驟 3:配置檔案

  1. web.xml:ContextLoaderListener、StrutsPrepareAndExecuteFilter、CharacterEncodingFilter。
  2. applicationContext.xml:dataSource、sessionFactory、txManager、component-scan、tx:annotation-driven。
  3. struts.xml:package extends struts-default、action 映射。
  4. hibernate.cfg.xml 或在 Spring 中以 LocalSessionFactoryBean 設定方言、映射包。

步驟 4:程式碼結構

com.example
├── entity      // @Entity 實體類
├── dao         // @Repository 介面 + 實現 (HibernateTemplate / SessionFactory)
├── service     // @Service 介面 + 實現 (@Transactional)
├── action      // @Controller / 繼承 ActionSupport
└── util        // 工具類

步驟 5:整合測試

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class UserServiceTest {
    @Autowired UserService userService;
    @Test public void testSave() { userService.register(new User(...)); }
}

常見坑點

  • 版本衝突:mvn dependency:tree 檢查並 <exclusion>。
  • struts.xml 未放在 src/main/resources 導致找不到。
  • 資料庫編碼 utf8mb4、JDBC URL characterEncoding=UTF-8。
  • Tomcat 發布時勾選 Maven Dependencies 部署至 WEB-INF/lib。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved