01 微信点餐系统
项目设计


环境搭建
jdk
nginx
mysql
redis
安装 jdk
openjdk 默认安装路径为 /usr/lib/jvm,然后设置环境变量:
安装 nginx
需要注意重启和重加载的区别:
restart 重启 nginx 服务,重启会造成服务一瞬间的中断,如果配置文件出错会导致服务启动失败,那就是更长时间的服务中断。
reload 重新加载配置文件,nginx 服务不会中断,而且 reload 时会测试 conf 语法等,如果出错会 rollback 用上一次正确配置文件保持正常运行。
启动后访问 http://localhost/ 检测是否正常。安装完成后各个文件存放位置:
Linux 系统的配置文件一般放在
/etc,日志一般放在/var/log,运行的程序一般放在/usr/sbin或者/usr/bin。
最后需要设置反代跨域:
安装 mysql
安装完成后各个文件存放位置:
安装 redis
日志 Logback
日志 = 日志门面(SLF4J) + 日志实现(Logback)。
使用方式一:
使用方式二,使用 Lombok 注解:
首先引入依赖:
添加 @Slf4j 注解:
日志配置方式:
application.yml
logback-spring.xml
application.yml 中进行简单配置:
但更推荐在 logback-spring.xml 中配置,可以更加细致地控制日志输出:
数据库与缓存
引入依赖:
配置 application.yml:
打包部署
打包项目:
上传远程服务器:
启动:
Error
001 Table 'sell.hibernate_sequence' doesn't exist. could not read a hi value.
将主键生成策略修改为:
002 No default constructor for entity
进行列表查询,需要给 dataobject 添加无参的构造方法:
003 Could not autowire. No beans of 'ProductInfoServiceImpl' type found.
忘记给 service 实现类添加 @Service 注解。
004 Error creating bean with name 'entityManagerFactory' defined in class path resource.
没有给 dataobject 主键添加 @Id 注解:
005 No validator could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.Integer'.
对于 Integer、Long 类型的属性值,表单验证用的注解应该是用 @NotNull,不能用 @NotBlank 或者 @NotEmpty。
最后更新于
这有帮助吗?