本文記錄在 IntelliJ IDEA 中使用 Maven 從零搭建 SpringMVC + MyBatis(SSM)框架的完整步驟,實現商品列表查詢功能,採用註解驅動開發,結構清晰,適合生產項目脚手架參考。

SqlSessionFactory 由 Spring 管理;@Transactional);# 手動創建標準 Maven Web 目錄 src/main/java src/main/resources src/main/webapp/WEB-INF src/test/java
包命名規範:com.公司.項目.模塊,示例為 com.iot.learnssm.firstssm,子包:controller、mapper、po、service、impl。
<properties>
<spring.version>4.2.4.RELEASE</spring.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-jdbc</artifactId><version>${spring.version}</version></dependency>
<dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency>
<!-- MyBatis -->
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.3.1</version></dependency>
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.4</version></dependency>
<!-- 數據庫連接池 -->
<dependency><groupId>commons-dbcp</groupId><artifactId>commons-dbcp</artifactId><version>1.4</version></dependency>
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.38</version></dependency>
<!-- 日誌 -->
<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.18</version></dependency>
<!-- Web 支持 -->
<dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency>
<dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency>
</dependencies>
避坑提示: 必須引入 spring-core、spring-orm、spring-jdbc 等核心模塊,否則運行時報 NoClassDefFoundError。
db.properties:數據庫連接參數;log4j.properties:日誌輸出格式;mybatis/sqlMapConfig.xml:MyBatis 全局配置(別名包掃描);spring/applicationContext-dao.xml:數據源、SqlSessionFactory、Mapper 掃描器;spring/applicationContext-service.xml:Service Bean 掃描、事務管理器;spring/springmvc.xml:視圖解析器、註解驅動、靜態資源映射;web.xml:ContextLoaderListener、DispatcherServlet、編碼過濾器。後續文章將依次實現: