当前位置:   article > 正文

01.SpringBoot商城项目之前后端界面搭建

springboot商城项目

1.技术点介绍

 前端:Freemarker、jQuery
 后端:SpringBoot、MyBatisPlus、Lombok
 中间件:Redis

2.项目搭建

2.1.配置数据库及表

请先在MySQL中创建数据库seckilldb

表名说明
t_dict_data字典小类表
t_dict_type字典大类表
t_goods商品信息表
t_order订单信息表
t_order_item订单项信息表
t_user用户信息表

 2.2.创建项目导入依赖

使用[Spring Initializer](https://start.spring.io/)快速初始化一个 Spring Boot 工程(工程将以 MySQL 作为默认数据库)

基于Spring Boot 2.7.12MyBatis-Plus 3.5.2配置项目依赖。

添加依赖:

   

  1. <!--freemarker-->
  2.     <dependency>
  3.         <groupId>org.springframework.boot</groupId>
  4.         <artifactId>spring-boot-starter-freemarker</artifactId>
  5.     </dependency>
  6.     
  7.     <!--spring web-->
  8.     <dependency>
  9.         <groupId>org.springframework.boot</groupId>
  10.         <artifactId>spring-boot-starter-web</artifactId>
  11.     </dependency>
  12.     
  13.     <!--mysql-->
  14.     <dependency>
  15.         <groupId>mysql</groupId>
  16.         <artifactId>mysql-connector-java</artifactId>
  17.         <scope>runtime</scope>
  18.         <version>5.1.44</version>
  19.     </dependency>
  20.     
  21.     <!--lombok-->
  22.     <dependency>
  23.         <groupId>org.projectlombok</groupId>
  24.         <artifactId>lombok</artifactId>
  25.         <optional>true</optional>
  26.     </dependency>
  27.     
  28.     <!--junit-->
  29.     <dependency>
  30.         <groupId>org.springframework.boot</groupId>
  31.         <artifactId>spring-boot-starter-test</artifactId>
  32.         <scope>test</scope>
  33.         <exclusions>
  34.             <exclusion>
  35.                 <groupId>org.junit.vintage</groupId>
  36.                 <artifactId>junit-vintage-engine</artifactId>
  37.             </exclusion>
  38.         </exclusions>
  39.     </dependency>
  40.     
  41.     <dependency>
  42.         <groupId>junit</groupId>
  43.         <artifactId>junit</artifactId>
  44.         <scope>test</scope>
  45.     </dependency>
  46.     
  47.     <!-- mybatis plus依赖 -->
  48.     <dependency>
  49.         <groupId>com.baomidou</groupId>
  50.         <artifactId>mybatis-plus-boot-starter</artifactId>
  51.         <version>3.5.2</version>
  52.     </dependency>
  53.     
  54.     <!-- mybatis-plus-generator依赖 -->
  55.     <dependency>
  56.         <groupId>com.baomidou</groupId>
  57.         <artifactId>mybatis-plus-generator</artifactId>
  58.         <version>3.5.2</version>
  59.     </dependency>
  60.     
  61.     <!--hariki-->
  62.     <dependency>
  63.         <groupId>com.zaxxer</groupId>
  64.         <artifactId>HikariCP</artifactId>
  65.     </dependency>
  66.     
  67.     <!-- MD5依赖 -->
  68.     <dependency>
  69.         <groupId>commons-codec</groupId>
  70.         <artifactId>commons-codec</artifactId>
  71.     </dependency>
  72.     
  73.     <dependency>
  74.         <groupId>org.apache.commons</groupId>
  75.         <artifactId>commons-lang3</artifactId>
  76.         <version>3.6</version>
  77.     </dependency>
  78.     
  79.     <!-- valid验证依赖 -->
  80.     <dependency>
  81.         <groupId>org.springframework.boot</groupId>
  82.         <artifactId>spring-boot-starter-validation</artifactId>
  83.     </dependency>
  84.     
  85.     <!--redis-->
  86.     <dependency>
  87.         <groupId>org.springframework.boot</groupId>
  88.         <artifactId>spring-boot-starter-data-redis</artifactId>
  89.     </dependency>
  90.     
  91.     <!--commons-pool2 对象池依赖 2.0版本的lettuce需要-->
  92.     <dependency>
  93.         <groupId>org.apache.commons</groupId>
  94.         <artifactId>commons-pool2</artifactId>
  95.     </dependency>

2.3.配置application.yml

配置数据库及连接池

 

  1.   spring:
  2.       datasource:
  3.         url: jdbc:mysql://localhost:3306/seckilldb?useSSL=false&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&characterEncoding=UTF8
  4.         driver-class-name: com.mysql.jdbc.Driver
  5.         password: 1234
  6.         username: root
  7.         hikari:
  8.           # 最小空闲连接数量
  9.           minimum-idle: 5
  10.           # 空闲连接存活最大时间,默认60000010分钟)
  11.           idle-timeout: 180000
  12.           # 连接池最大连接数,默认是10
  13.           maximum-pool-size: 10
  14.           # 此属性控制从池返回的连接的默认自动提交行为,默认值:true
  15.           auto-commit: true
  16.           # 连接池名称
  17.           pool-name: MyHikariCP
  18.           # 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认180000030分钟
  19.           max-lifetime: 1800000
  20.           # 数据库连接超时时间,默认30秒,即30000
  21.           connection-timeout: 30000

请修改数据库名、账号及密码。

配置freemarker

   

  1. spring:
  2.       freemarker:
  3.         #设置编码格式
  4.         charset: UTF-8
  5.         #后缀
  6.         suffix:
  7.         #文档类型
  8.         content-type: text/html
  9.         #模板前端
  10.         template-loader-path: classpath:/templates/
  11.         #启用模板
  12.         enabled: true
  13.       mvc:
  14.         static-path-pattern: /static/**

配置redis

   

  1. spring:
  2.       redis:
  3.         #服务端IP
  4.         host: 127.0.0.1
  5.         #端口
  6.         port: 6379
  7.         #密码
  8.         password: 123456
  9.         #选择数据库
  10.         database: 0
  11.         #超时时间
  12.         timeout: 10000ms
  13.         #Lettuce的连接是基于Netty的,连接实例(StatefulRedisConnection)可以在多个线程间并发访问
  14.         #Lettuce线程安全,Jedis线程非安全
  15.         lettuce:
  16.           pool:
  17.             #最大连接数,默认8
  18.             max-active: 8
  19.             #最大连接阻塞等待时间,默认-1
  20.             max-wait: 10000ms
  21.             #最大空闲连接,默认8
  22.             max-idle: 200
  23.             #最小空闲连接,默认0
  24.             min-idle: 5

请修改Redis服务器的IP地址及密码。

配置mybatis-plus

   

  1. #mybatis-plus配置
  2.     mybatis-plus:
  3.       #所对应的 XML 文件位置
  4.       mapper-locations: classpath*:/mapper/*Mapper.xml
  5.       #别名包扫描路径
  6.       type-aliases-package: com.zking.项目名.model
  7.       configuration:
  8.         #驼峰命名规则
  9.         map-underscore-to-camel-case: true

注意:请修改项目名。

配置logging日志

 

  1. #日志配置
  2.     logging:
  3.       level:
  4.         com.zking.项目名.mapper: debug

注意:请修改项目名。

3.商城首页

3.1.导入前端页面

将课件资料中的html目录下的statictemplates导入到项目的resources目录下。

3.2.配置公共跳转控制器

controller包下创建PageController,用于公共页面跳转。

   

  1. @Controller
  2.     @RequestMapping("/page")
  3.     public class PageController {
  4.     
  5.         @RequestMapping("/{page}")
  6.         public String to(@PathVariable("page") String page){
  7.             return page;
  8.         }
  9.     
  10.         @RequestMapping("/{dir}/{page}")
  11.         public String to(@PathVariable("dir") String dir,
  12.                          @PathVariable("page") String page){
  13.             return dir+"/"+page;
  14.         }
  15.     }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/860040
推荐阅读
相关标签
  

闽ICP备14008679号