|
|
4 kuukautta sitten | |
|---|---|---|
| sql | 4 kuukautta sitten | |
| src | 4 kuukautta sitten | |
| .gitignore | 6 kuukautta sitten | |
| README.md | 4 kuukautta sitten | |
| doc.md | 4 kuukautta sitten | |
| pom.xml | 4 kuukautta sitten |
基于 Spring + Spring MVC + MyBatis 的蛋糕商城系统。
| 层 | 技术 |
|---|---|
| 前端 | JSP + JSTL + Bootstrap 4.3.1 CDN + jQuery CDN + Font Awesome |
| 控制层 | Spring MVC 5.3.31 |
| 业务层 | Spring 5.3.31 + @Transactional |
| 持久层 | MyBatis 3.5.6 + MyBatis-Spring 2.0.6 |
| 连接池 | Druid 1.2.8 |
| 数据库 | MySQL 8.0 |
| 构建 | Maven (Java 8, war 打包) |
| 容器 | Tomcat 7+ |
执行 sql/init.sql 创建数据库 ssm 及 21 张表,并插入模拟数据。
默认管理员:admin / 123456
默认用户:zhangsan / 123456、lisi / 123456、wangwu / 123456
编辑 src/main/resources/jdbc.properties,修改数据库连接信息。
mvn compile # 编译
mvn clean package # 打包 war
mvn tomcat7:run # 开发服务器 → http://localhost:8080/SSM_template
mvn test # 运行测试
src/main/java/space/anyi/
├── controller/
│ ├── front/ # 用户端控制器 (10)
│ └── admin/ # 管理端控制器 (8)
├── entity/ # 实体类 (21) + dto/ (12) + vo/ (12)
├── mapper/ # MyBatis Mapper 接口 (21)
├── service/ # 业务接口 (19)
│ └── impl/ # 业务实现 (18)
├── interceptor/ # 登录拦截器 (LoginInterceptor, AdminLoginInterceptor)
├── util/ # 工具类 (MD5Util, OrderNoGenerator, Converter)
└── constant/ # 常量 (OrderStatus)
src/main/resources/
├── mapper/ # MyBatis XML 映射文件 (21)
├── spring-context.xml # Spring 核心配置
├── spring-mvc.xml # Spring MVC 配置
├── mybatis-config.xml # MyBatis 配置
├── logback.xml # 日志配置
└── jdbc.properties # 数据库连接
src/main/webapp/WEB-INF/views/
├── index.jsp
├── common/ # header.jsp, footer.jsp
├── cake/ # 蛋糕列表、详情、定制
├── cart/ # 购物车
├── order/ # 订单结算、列表、详情
├── user/ # 登录、注册、个人资料、地址管理
├── favorite/ # 收藏
├── coupon/ # 优惠券
├── message/ # 留言
├── activity/ # 活动
└── admin/ # 后台管理 (16 个 JSP)
| 文件 | 用途 |
|---|---|
spring-context.xml |
数据源、MyBatis、事务、AOP |
spring-mvc.xml |
控制器扫描、拦截器、视图解析、文件上传 |
mybatis-config.xml |
驼峰映射、SQL 日志、二级缓存关闭 |
logback.xml |
按级别分离日志 (debug/info/error),滚动策略 |
web.xml |
DispatcherServlet、编码过滤器 |
| 拦截器 | Session Key | 保护路径 | 排除 |
|---|---|---|---|
| LoginInterceptor | user |
/user/* /cart/* /order/* /favorite/* /coupon/* |
/user/login /user/register |
| AdminLoginInterceptor | admin |
/admin/** |
/admin/login |
测试位于 src/test/java/space/anyi/,包含 6 个 Service 测试和 3 个 Mapper 测试。
BaseMapperTest 使用 spring-test.xml(独立配置,数据库 ssm_test)@Transactional 自动回滚mapUnderscoreToCamelCase=true(数据库下划线 → Java 驼峰)./upload 目录,路径由 jdbc.properties 中的 upload.path 配置