先简单概括下这个项目:外卖订餐平台Web,这个是承接我的这篇博文来续写的https://www.cnblogs.com/yycjavastudy/articles/12666104.html,在这一篇随笔中,将完成配料表的构造,用户视图的简单构造,外加上订单表单的输入及验证(不含数据库部分)

好了,进入正题,配料表的编写,在这里我体会到Spring编写JavaWeb的代码简洁之道,自从学习java以来,比较重视各个属性文件的起名,个人对于如i,ii,iii,a,b等让人抓狂的魔法命名方式是深恶痛觉的,除了学校里布置的简单Java小程序,内容有限,稍稍读下还是通的。废话不说了,上代码才是王道!

以下是我们初步的配料表:

 package tacos;

 import lombok.Data;
import lombok.RequiredArgsConstructor; @Data
@RequiredArgsConstructor
public class Ingredient {
private final String id;
private final String name;
private final Type type; public static enum Type{
CHICKENHOTPOT,PAIDAKIA,CHIPS,COLA,COFFE;
} }

保存后9-11行三个显眼报错!但无伤大雅,我们暂时先不管,首先说明一下这两个注解的来源是:Lombok,这个Lombok库呢并不是必需品,但它会让代码变得简洁。发现没有,private的三个属性,竟然没有setter,getter,还有一些常见的方法。提炼下《Spring实战》这本书上的意思,其一节省空间,其二短小简洁减轻开发难度时间。那么它是如何调用的呢,没错就是这个两个没有见过的注解@Data和@RequiredArgsConstructor。

其中@Data:告诉编译器,生成缺失方法(equals(),toString()等)并且将final属性生成构造器。(程序员偷懒福音!)

@RequiredArgsConstructor:会生成一个包含常量,和标识了NotNull的变量的构造方法。生成的构造方法是私有的private。(这个地方暂时有点疑惑)

关于STS引入这个依赖只需在pom.xml右键选择Edit Start并找到即可,如下图所示。

好了,现在还差最后一步也就是关于属性定义报错的问题。有人一看很简单final属性必须初始化嘛,所以呢我们还要把我们的STS给它装上Lombok(有点迷惑。。。)

这个神器库——Maven比较好(个人挺多jar包和插件都是上面扒的)直接甩链接:https://mvnrepository.com/artifact/org.projectlombok/lombok,选择顺眼的版本即可,然后按图片中顺序点击。最后检查STS文件夹中是否多出了个Lombok.jar,ini文件是否成功加入

No ERROR!!!

Spring Taco Cloud——配料表(Lombok的安装及其注解)的更多相关文章

  1. Eclipse中Lombok的安装和注解说明

    Lombok 可用来帮助开发人员消除 Java 的重复代码,尤其是对于简单的 Java 对象(POJO),比如说getter/setter/toString等方法的编写.它通过注解实现这一目的. 官网 ...

  2. Spring Taco Cloud——Controller的创建(含SpringMVC执行过程&SpringBoot&Spring三者解释及关联)

    在记录这次控制器编写前,对于Spring的感觉就是经常提这样代码好简洁,这样好方便,这个是用来干嘛的诸如之类的话. What is Spring ?这是我想问自己的,一直认为是简化代码利于工程的开源框 ...

  3. Spring Taco Cloud——design视图的创建(含thymeleaf模板遇到的一些小问题)

    先来看下综合前两篇内容加上本次视图的成果   可能不是很美观,因为并没有加css样式,我想等整个项目有个差不多的功能实现后再进行页面优化,请谅解 下面我贴上自己定义修改过的Taco的design视图代 ...

  4. spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法

    spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法 前言 本篇接着<spring boot / cloud ...

  5. spring boot / cloud (五) 自签SSL证书以及HTTPS

    spring boot / cloud (五) 自签SSL证书以及HTTPS 前言 什么是HTTPS? HTTPS(全称:Hyper Text Transfer Protocol over Secur ...

  6. spring boot / cloud (十五) 分布式调度中心进阶

    spring boot / cloud (十五) 分布式调度中心进阶 在<spring boot / cloud (十) 使用quartz搭建调度中心>这篇文章中介绍了如何在spring ...

  7. spring boot / cloud (十六) 分布式ID生成服务

    spring boot / cloud (十六) 分布式ID生成服务 在几乎所有的分布式系统或者采用了分库/分表设计的系统中,几乎都会需要生成数据的唯一标识ID的需求, 常规做法,是使用数据库中的自动 ...

  8. spring boot / cloud (十八) 使用docker快速搭建本地环境

    spring boot / cloud (十八) 使用docker快速搭建本地环境 在平时的开发中工作中,环境的搭建其实一直都是一个很麻烦的事情 特别是现在,系统越来越复杂,所需要连接的一些中间件也越 ...

  9. spring boot / cloud (十九) 并发消费消息,如何保证入库的数据是最新的?

    spring boot / cloud (十九) 并发消费消息,如何保证入库的数据是最新的? 消息中间件在解决异步处理,模块间解耦和,和高流量场景的削峰,等情况下有着很广泛的应用 . 本文将跟大家一起 ...

随机推荐

  1. 逐浪web无障碍与国际化以及全民族语言支持白皮书

    北京时间2019年5月10日,领先的门户网站与WEB内核服务厂商--上海Zoomla!逐浪CMS团队发布其年度重榜产品:逐浪CMS全民族语言与国际版,体验站点:http://demo2.z01.com ...

  2. TCP粘包很难么,为何我屡屡受挫??

    无论走到哪里,都应该记住,过去都是假的,回忆是一条没有尽头的路,一切以往的春天都不复存在,就连那最坚韧而又狂乱的爱情归根结底也不过是一种转瞬即逝的现实. --马尔克斯 本文已经收录至我的GitHub, ...

  3. (转).balignl 16,0xdeadbeef浅析

    原文地址:http://zqwt.012.blog.163.com/blog/static/12044684201031102956976/ 最近在分析u-boot的源代码,看到这一行: .balig ...

  4. debug.js在手机上打印调试信息

    在做移动端开发的时候大家应该都遇到过这么一个问题:如何在手机上打印调试信息? 在pc端我们通常会用console.log 或者 alert,但大家知道console.log在手机上是看不到打印信息的: ...

  5. EPX Studio开发环境介绍

    相信用过Delphi的人,都很清楚FastScript,EPX Studio就是以FastScript为编程基础语言,由于FastScript支持类似于Delphi的Pascal语法,因此EPX St ...

  6. Java并发编程之验证volatile不能保证原子性

    Java并发编程之验证volatile不能保证原子性 通过系列文章的学习,凯哥已经介绍了volatile的三大特性.1:保证可见性 2:不保证原子性 3:保证顺序.那么怎么来验证可见性呢?本文凯哥(凯 ...

  7. Java-方法(新手)

    //创建的一个类.public class zy1ri0319 { //公共静态的主方法. public static void main(String[] args){ //调用方法. zy1(); ...

  8. babel-loader配置

    1.npm i @babel/core.@babel/preset-env.@babel/runtime.@babel/plugin-transform-runtime.@babel/plugin-p ...

  9. go语言周边

    博主收藏的go语言资料,分享一波~~~ 官网 https://golang.org/ (被墙) 镜像: http://docscn.studygolang.com/ 下载镜像: https://gom ...

  10. hdu3665Floyd解法

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/3665/ Floyd是经典的dp算法,将迭代过程分成n个阶段,经过n个阶段的迭代所有点对之间的最短路径都可以求出, ...