
微信点餐系统
基于springboot的微信点餐系统
水巷石子
大道至简
展开
-
使用@Valid+BindingResult进行controller参数校验
@Valid@Valid注解用于校验,所属的包: javax.validation.Valid.你可以定义实体,在实体的属性上添加校验规则,在API接收数据时添加@Valid注解,这时你的实体将会开启一个校验的功能。@Valid 注解类型的使用:## 空检查**@NotEmpty:**用在集合类上面;不能为null,而且长度必须大于0@NotBlank: 用在String上面;只能作用在String上,不能为null,而且调用trim()后,长度必须大于0**@NotNull:**用在基原创 2020-11-21 21:03:17 · 1178 阅读 · 2 评论 -
修改hosts文件,实现页面的域名访问
一直用ip地址访问,是不是又难记,又感觉很low。我边我介绍一种方法,可以做到,不用花钱买域名,就可以实现自己页面的域名访问。那就是修改hosts文件。因为你在地址栏输入一个域名,机器先会在本地hosts文件中查找,如果在本地找不到才会去远程服务器查找。这边我就直接修改本地的hosts文件。这样的话,直接在本地就能知道,并解析域名。就能够实现页面的域名访问了。虽然是假的,只能自己本机访问这边我使用工具,switchHosts工具来修改hosts文件(该工具已经上传到了我博客下载项中,有需要的可以原创 2020-10-23 15:58:03 · 3155 阅读 · 4 评论 -
微信点餐系统——修改服务器nginx配置
修改nginx中本机ip地址vim /user/local/nginx/conf/nginx.conf如果想要用域名访问,则要修改server_name修改完后,nginx重新加载一下。nginx -s reload这样,修改的内容才能生效。原创 2020-10-23 15:05:46 · 1417 阅读 · 6 评论 -
解决页面怎么模拟手机端屏幕
在页面按F12后,点击图中位置点击图中位置后:原创 2020-10-23 14:30:08 · 2073 阅读 · 4 评论 -
java8新特性lambda表达式初体验
我这边结合我项目案例来说明。业务说明:首先调用productService的findUpAll()方法,查询所有的上架商品productInfoList然后一次性查询类目,这边传统的方法,是1.先new一个ArrayList集合categoryList2.然后用foreach遍历前面查询到的productInfoList集合(所有上架商品集合)将所有商品的categoryType存到categoryList中。传统方法: //一些无关代码省略 @Autowired原创 2020-10-21 20:06:34 · 2000 阅读 · 4 评论 -
解决VO类属性与要返回的json串字段名称不一样的问题
结论:解决VO类属性与要返回的json串字段名称不一样的问题,需要用到@JsonProperty(“xxx”)这个注解那具体怎么使用呢?下面我拿我个人的例子来说明。需要返回的json串字段格式如下:{ "code": 0, "msg": "成功", "data": [ { "name": "热榜", "type": 1, "foods": [ {原创 2020-10-21 14:54:53 · 5776 阅读 · 25 评论 -
@GetMapping注解的理解
Spring的复杂性不是来自于它处理的对象,而是来自于自身,不断演进发展的Spring会带来时间维度上复杂性,比如SpringMVC以前版本的*@RequestMapping*,到了新版本被下面新注释替代,相当于增加的选项:@GetMapping@PostMapping@PutMapping@DeleteMapping@PatchMapping从命名约定我们可以看到每个注释都是为了处理各自的传入请求方法类型,即*@GetMapping用于处理请求方法的GET类型,@ PostMapping用原创 2020-10-17 20:42:00 · 96840 阅读 · 10 评论 -
@RestController注解的理解
一、在Spring中@RestController的作用等同于@Controller + @ResponseBody。所以想要理解@RestController注解就要先了解@Controller和@ResponseBody注解。二、@Controller注解在一个类上添加@Controller注解,表明了这个类是一个控制器类。这里省略对Controller注解的说明了。三、@ResponseBody注解@ResponseBody表示方法的返回值直接以指定的格式写入Http response bo原创 2020-10-17 20:40:20 · 22124 阅读 · 3 评论 -
微信点餐系统——用Enum枚举来保存商品状态
什么是枚举?枚举是JDK5引入的新特性。在某些情况下,一个类的对象是固定的,就可以定义为枚举。在实际使用中,枚举类型也可以作为一种规范,保障程序参数安全。枚举有以下特点:Java中枚举和类、接口的级别相同。枚举和类一样,都有自己的属性、方法、构造方法,不同点是:枚举的构造方法只能是private修饰,也就无法从外部构造对象。构造方法只在构造枚举值时调用。使用enum关键字声明一个枚举类型时,就默认继承自Java中的java.lang.Enum类,并实现了java.lang.Seriabl原创 2020-10-17 19:38:07 · 3865 阅读 · 0 评论 -
使用IDEA将git分支中的内容合并到master主分支
现在我是dev3分支,我想把dev3分支中的内容,合并到主分支,让主分支和dev3中的内容一样。(我这边已经将dev3中的代码提交到了远程库)首先选择到master分支然后选择VCS下的Git下的pull选项然后选择你想要合并同步的分支点击pull然后,重新pushpush这样就完成dev3分支代码同步到master主分支啦!!...原创 2020-10-17 17:15:17 · 13024 阅读 · 0 评论 -
警告!千万不要删除IDEA中的Remote Branches分支
如果你把IDEA中Remote Branches的分支删除那么你运程仓库的分支也会删除所以,最好不要删除!!!不然你运程仓库中的分支就没了原创 2020-10-17 16:27:58 · 7276 阅读 · 3 评论 -
微信点餐系统——买家类目service层创建并测试通过
ICategoryService/** * Created by 李柏霖 * 2020/10/17 15:17 */package com.lbl.service;import com.lbl.dataObject.ProductCategory;import java.util.List;public interface ICategoryService { //卖家 ProductCategory findOne(Integer categoryId);原创 2020-10-17 16:19:01 · 3751 阅读 · 3 评论 -
IDEA如何快速创建对应类的测试类
比如我想要测试项目中的某一个类。这边我具体到想测试CategoryServiceImpl这个类,如下图:只需要将双击这个类,鼠标右键,然后选择go to到Test.点击,创建测试然后勾选你想要测试的方法点击确定之后测试类和前面勾选的方法都已经自动生成了。测试类快速创建完毕!!!...原创 2020-10-17 15:39:21 · 11259 阅读 · 0 评论 -
Spring Data JPA方法定义规范
Spring Data Jpa方法定义的规则:(1)简单条件查询简单条件查询:查询某一个实体类或者集合。按照Spring Data的规范的规定,查询方法以find | read | get开头,涉及查询条件时,条件的属性用条件关键字连接,要注意的是:条件属性以首字母大写。例如:定义一个Entity实体类:classPeople{ private String firstName; private String lastName;}以上使用and条件查询时,应这样写:findByLast原创 2020-10-14 22:24:01 · 4653 阅读 · 0 评论 -
spring data JPA常用注解
常用注解@Entity作用:指定当前类是实体类。@Table作用:指定实体类和表之间的对应关系。属性:name:指定数据库表的名称@ld作用:指定当前字段是主键。@GeneratedValue作用:指定主键的生成方式。。属性:strategy:指定主键生成策略。@column作用:指定实体类属性和数据库表之间的对应关系属性:name:指定数据库表的列名称。unique:是否唯一nullable:是否可以为空inserttable:是否可以插入updateable:是否可原创 2020-10-14 21:08:12 · 4197 阅读 · 2 评论 -
Spring Data JPA与JPA和hibernate的关系
JPA只是一套规范,真正干活的还是Hibernate,因为Hibernate实现了JPA这套规范.JPA和Hibernate 的关系就像JDBC和JDBC 驱动的关系,JPA是规范,Hibernate除了作为ORM框架之外,它也是一种JPA实现。JPA怎么取代Hibernate呢?JDBC规范可以驱动底层数据库吗?答案是否定的,也就是说,如果使用JPA规范进行数据库操作,底层需要hibernate作为其实现类完成数据持久化工作。JPA是一套规范,内部是有接口和抽象类组成的。hibernate 是一套原创 2020-10-14 21:04:34 · 4508 阅读 · 1 评论 -
Spring Data JPA概述
Spring Data JPA易于扩展!学习并使用Spring Data JPA可以极大提高开发效率!Spring Data JPA是Spring 基于ORM框架、JPA规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和操作。它提供了包括增删改查等在内的常用功能,且Spring Data JPA 读我们解脱了DAO层的操作,基本上所有 CRUD都可以依赖于它来实现,在实际的工作工程中,推荐使用Spring DataJPA+ORM(如: hibernate)完成操作,这样.原创 2020-10-14 21:01:18 · 3826 阅读 · 0 评论 -
使用spring data JPA进行类目增删改查测试
注意两点增加和修改都是用save方法来实现的在使用更新方法的时候,时间并没有自动更新,需要在ProductCategory类上加@DynamicUpdate注解,实现自动更新另:在测试方法上加上@Transactional注解,在测试方法执行完之后,会自动回滚。因为会回滚,那我么怎么知道是否成功了呢,我们可以加上断言Assert.assertNotNull(result);如果result不为null,则通过,如果为null,则抛出异常。ProductCategorypackage com原创 2020-10-14 19:34:33 · 3716 阅读 · 1 评论 -
别再无脑get、set了,快使用lombok,从此不用再get、set
一般在javabean(或pojo、domain)中,都是一堆get、set方法。有没有觉得是无脑的机械操作,虽说有工具帮我们自动生成吧,但如果一个属性修改了,get、set方法也要修改,还是有点麻烦的。下面,我介绍今天的主角lombok,我们使用它,就可以不用写get、set方法。性能上,和自己写了get、set方法是一样的,这个大家不用担心。在pom.xml添加依赖<dependency> <groupId>org.projectlombok</group原创 2020-10-14 17:49:14 · 4055 阅读 · 1 评论 -
mysql数据库的连接--买家类目(上)
在pom.xml文件中加mysql数据库的依赖<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency>配置application.ymlspring: datasource: driver-class-name: com.mysql.jdbc.Driver原创 2020-10-09 22:07:40 · 3411 阅读 · 2 评论 -
解决IDEA在创建java类的时候自动生成作者和类的创建时间
如图所示想要在类创建的时候,自动生成作者和类的创建时间.首先,选择settings然后添加这一段/** * Created by 李柏霖 * ${DATE} ${TIME} */就可以了!原创 2020-10-09 21:49:18 · 4560 阅读 · 1 评论 -
使用logback-spring.xml配置日志
完整配置如下(有bug,后面解决,并且后面逐一分析):<?xml version="1.0" encoding="UTF-8" ?><configuration> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout">原创 2020-10-08 22:03:17 · 6312 阅读 · 0 评论 -
使用logback-spring.xml配置日志
完整配置如下(后面逐一分析):<?xml version="1.0" encoding="UTF-8" ?><configuration> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pat原创 2020-10-08 21:25:12 · 4016 阅读 · 0 评论 -
学java日志框架,看这一篇就够了!!!
什么是日志框架日志框架的选择Logback的使用与配置什么是日志框架是一套能实现日志输出的工具包能够描述系统运行状态的所有时间都可以算作日志日志框架的能力定制输出目标定制输出格式携带上下文信息运行时选择性输出灵活的配置优秀的性能常见的日常框架一般都有一个日志门面和一个日志实现,具体各类如下:这么多日志框架,我们应该使用哪一个好呢?我们用排除法,一个一个来JUL:来自官方,实现过于简陋,经常被吐槽jboss-logging..原创 2020-10-08 21:23:06 · 3407 阅读 · 0 评论 -
解决springboot启动报java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need
解决springboot启动报java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=…) with your test分析项目的目录结构,有没有启动类。下面我拿我的项目举个例子上图可知,我的启动类放错了位置,没有在包的根目录上。再运行问题解决!!!...原创 2020-09-27 10:33:51 · 4480 阅读 · 0 评论 -
解决如何将docker中的mysql挂载到linux本机中
解决如何将docker中的mysql挂载到linux本机中将mysql数据库挂载到linux本机,只需要在创建容器的时候添加下面代码:-v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql这样数据就可以一直保存,当删除这个镜像后,数据库中的表还在,重新创建容器的时候,只要挂载在同一个目录,就可以得到以前数据库的表。代码解析:‘:’之前的/home/mysql/conf是linux本机的目录,意思是将‘:’之原创 2020-09-26 22:23:35 · 4534 阅读 · 0 评论 -
解决docker中的mysql:5.7使用timestamp时间戳自动生成时间,却与当前系统时间差八小时的问题
解决docker中的mysql:5.7使用timestamp时间戳自动生成时间,却与当前系统时间差八小时的问题我使用的是mysql:5.7版本,这个版本,有timestamp时间戳这个字段,可以自动插入时间。但我在使用的时间,发现插入的时间,与系统当前时间差了8小时。首先看一上表结果:数据库显示的是12多,而实际当前时间是20点多,而且分秒都是对的,但就是差了8小时。这个是什么原因呢?想想不难发现。因为数据库是老外发明的,自然默认时间是他们那儿的,而我们要跟自己的时间对上,那就需要改时区,原创 2020-09-26 22:10:29 · 4616 阅读 · 0 评论 -
解答使用springboot后,再用maven导jar包,为什么不需要写版本了呢?
解答使用springboot后,再用maven导jar包,为什么不需要写版本了呢?当我们使用springboot后,再来用maven的pom文件来导jar包时,就不需要写jar包的版本了.有人可能会说之前学习maven知道,在通过maven引入jar包的时候,需要明确定义其坐标元素groupId、artifactId、version、packaging、classfier,从而确认具体的jar包信息,其中groupId、artifactId、version三要素一定不可缺失,可是有些POM中却没有引入包原创 2020-09-26 19:17:02 · 4854 阅读 · 0 评论 -
解决用lombok的@data注解后,IDEA报红,但程序可以正常将数据插入数据库
解决用lombok的@data注解后,IDEA报红,但程序可以正常将数据插入数据库这是因为IDEA没有安装(更新)lombok插件过程描述set方法报红,但可以正常执行执行结果:数据库也能正确插入数据###解决方法:在IDEA安装lombok插件点击file的settings安装lombok插件:安装完后重启:问题解决!!!...原创 2020-09-26 17:13:29 · 8371 阅读 · 1 评论