目录
1、简介
该系统分为前台展示和后台管理两大模块。
前台主要是为消费者服务。该子系统实现了注册,登录,以及从浏览、下单到支付的整个流程,支付使用的是支付宝的沙箱环境,属于模拟环境。需要注册沙箱账号才能付款。
后台主要是为商家服务,实现了权限,店铺,商品和订单等的管理,以及生成一些简单的报表信息。
2、技术栈
SpringBoot
Mybatis
Shiro
Jsp
Bootstrap
JWT
Mysql支付宝沙箱支付
微服务
3、环境
开发工具:Idea、Maven
语言:Java1.8
数据库:MySQL5.x+
4、配置
server.port=8070
#\u7F16\u7801
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
server.tomcat.uri-encoding=UTF-8
#\u6570\u636E\u6E90\u914D\u7F6Espringboot\u4F1A\u81EA\u52A8\u52A0\u8F7Dspring.datasource.*\u76F8\u5173\u914D\u7F6E\uFF0C\u6570\u636E\u6E90\u5C31\u4F1A\u81EA\u52A8\u6CE8\u5165\u5230sqlSessionFactory\u4E2D
#sqlSessionFactory\u4F1A\u81EA\u52A8\u6CE8\u5165\u5230Mapper\u4E2D\uFF0C\u5BF9\u4E86\u4F60\u4E00\u5207\u90FD\u4E0D\u7528\u7BA1\u4E86\uFF0C\u76F4\u63A5\u62FF\u8D77\u6765\u4F7F\u7528\u5C31\u884C\u4E86\u3002
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/bookstore?serverTimezone=UTC
spring.datasource.username = root
spring.datasource.password = 123
# mybatis \u914D\u7F6E
##\u5305\u522B\u540D
#mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.type-aliases-package=org.zdd.bookstore.model.entity
mybatis.mapper-locations=classpath:mybatis/mapper/**/*.xml
#mybatis.configuration.map-underscore-to-camel-case=true
## \u901A\u7528 Mapper\u7684\u914D\u7F6E
mapper.mappers=tk.mybatis.mapper.common.Mapper
mapper.not-empty=false
mapper.identity=MYSQL
logging.level.org.zdd.bookstore.model.dao=debug
##\u5206\u9875\u63D2\u4EF6
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
#cache \u591A\u4E2A\u7528\u9017\u53F7\u5206\u5F00
#spring.cache.cache-names=userCache,orderMapperCustomCache
#jsp
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
#\u90AE\u7BB1\u914D\u7F6E,\u6211\u4F7F\u7528QQ\u90AE\u7BB1
spring.mail.host=smtp.163.com
#\u90AE\u7BB1\u7684\u8D26\u53F7
spring.mail.username=xxxxx@163.com
#\u90AE\u7BB1\u7684\u7B2C\u4E09\u65B9\u767B\u5F55\u7684\u6388\u6743\u7801\uFF0C\u975E\u81EA\u5DF1\u7684\u767B\u5F55\u5BC6\u7801(\u4E3A\u4E86\u6211\u7684\u90AE\u7BB1\u5B89\u5168\uFF0C\u5C31\u4E0D\u516C\u5E03\u6211\u7684\u6388\u6743\u7801)
spring.mail.password=xxxxxx
spring.mail.default-encoding=UTF-8
#\u7EBF\u4E0A\u5982\u679C\u6CA1\u6709\u5F00\u53D125\u7AEF\u53E3\uFF0C\u53EF\u4EE5\u4F7F\u7528\u7528\u4E0B\u9762\u7684\u914D\u7F6E
##spring.mail.port=465
##spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
##spring.mail.properties.mail.debug=true
#\u4F1A\u8BDD\u8D85\u65F6
server.servlet.session.timeout=30m
#\u6587\u4EF6\u4E0A\u4F20
spring.servlet.multipart.max-file-size = 10MB
spring.servlet.multipart.max-request-size = 50MB
mail.fromMail.addr=715073@qq.com
#\u9ED8\u8BA4\u56FE\u4E66\u7C7B\u578B
book.category=6
#default.book.category=2
#\u56FE\u7247\u4E0A\u4F20\u8DEF\u5F84\u524D\u7F00
image.url.prefix = upload/images
#\u6211\u7684ip\u6216\u8005\u57DF\u540D\uFF0C \u7528\u4E8E\u6CE8\u518C\u6FC0\u6D3B\u56DE\u8C03\uFF0C\u652F\u4ED8\u56DE\u8C03\u7B49
my.ip = 127.0.0.1
#\u89D2\u8272id
super.role-id = 1
ordinary.role-id = 2
business.role-id = 3
5、搭建
购买后可直接联系本人
- 方法一:在ide(推荐idea)运行项目,配置好启动环境,运行main方法, 要去掉继承的类SpringBootServletInitializer和方法
- 方法二:在项目的根目录下执行maven命令
mvn spring-boot:run
- 方法三: 在ide或直接用maven打成的war包放到tomcat运行,此时如果访问需要加上项目名的话,支付宝回调地址需要加上项目名称
mvn package -Dmaven.test.skip=true
- 方法四: 使用命令运行jar或war,因为也是一个传统JavaWeb项目,前后端不分离,打成jar会无法访问静态资源,所以只能打成war,把WEN-INF下面的东西也打包好)
java -jar xxx.war
6、核心代码
package org.zdd.bookstore;
import org.zdd.bookstore.model.dao.GlobalParameterMapper;
import org.zdd.bookstore.model.entity.BookCategory;
import org.zdd.bookstore.model.entity.GlobalParameter;
import org.zdd.bookstore.model.service.IBookCateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import tk.mybatis.mapper.entity.Example;
import javax.servlet.ServletContext;
import java.util.List;
@Component
public class InitWebInfoCommandLineRunner implements CommandLineRunner {
@Autowired
private ServletContext servletContext;
@Autowired
private IBookCateService bookCateService;
@Autowired
private GlobalParameterMapper globalParameterMapper;
@Override
public void run(String... args){
List<BookCategory> bookCategories = bookCateService.getCategoryList();
List<GlobalParameter> globalParameters = globalParameterMapper.selectByExample(new Example(GlobalParameter.class));
servletContext.setAttribute("bookCategories", bookCategories);
if(globalParameters!=null && globalParameters.size() != 0){
servletContext.setAttribute("globalParameter", globalParameters.get(0));
}
}
}
package org.zdd.bookstore;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.scheduling.annotation.EnableAsync;
import tk.mybatis.spring.annotation.MapperScan;
@SpringBootApplication
@EnableCaching//开启缓存
@MapperScan("org.zdd.bookstore.model.dao")
@EnableAsync
public class BookstoreApplication extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(BookstoreApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(BookstoreApplication.class, args);
}
}
7、界面展示
8、下载地址
bookstore电商书城系统,springboot+mybatis,可搭建-Java文档类资源-CSDN下载