一.lombok工具包
中央仓库查找这个工具包:https://mvnrepository.com/

给类添加@Data注解就可以获取gettter和setter方法 , 这样我们就不必写getter 和 setter 方法.

也可以给成员属性添加单独的@getter 和 @setter , 针对某个成员属性单独添加setter或setter方法.

二.如果使用springboot快速地添加包
1..安装插件
IDEA插件市场搜索EditStar

2.在pom.xml中右击 -- 选择generate -- Edit Starters

3.添加Lombok

4.此时lombok就添加进来了

lombok也提供了其他一些细粒度的注解
|-----------|--------------|
| @Getter | 自动添加getter方法 |
| @Setter | 自动添加setter方法 |
| @ToString | 自动添加String方法 |
| @HashCode | hasCode方法 |
三.应用分层
应用分层是一种开发设计思想,它将应用程序分为多个层次,这多个层次分别负责各自的职责,多个层次之间协同提供完整的功能.
常见的MVC设计模式 , 就是引用分层的一种具体体现.
为什么要分层 ?
如果不分层, 大量的代码混杂在一起,很容易出现逻辑不清晰,各模块相互依赖,代码扩展性差,改一处就牵一发而动全身等问题.
三层架构
MVC模式是把整体的系统分成了 Model(模型), View(视图)和Controller (控制器)三个层次,也就是将⽤⼾视图和业务处理隔离开,并且通过控制器连接起来,很好地实现 了表现和逻辑的解耦,是⼀种标准的软件分层架构。

⽬前现在更主流的开发⽅式是 "前后端分离" 的⽅式, 后端开发⼯程师不再需要关注前端的实现, 所以对 于Java后端开发者, ⼜有了⼀种新的分层架构: 把整体架构分为表现层、业务逻辑层和数据层. 这种分层⽅式也称之为"三层架构"
1.表现层 Controller
接收请求,返回结果
2.业务逻辑层 Service
主要处理业务逻辑
3.数据层/持久层 Dao
负责处理数据,包含数据的存储/获取

MVC 和三层架构的区别和联系
MVC模式强调数据和视图分离, 将数据展⽰和数据处理分开, 通过控制器对两者进⾏组合.
三层架构强调不同维度数据处理的⾼内聚和低耦合, 将交互界⾯, 业务处理和数据库操作的逻辑分开.
在⽇常的开发中可以经常看到两种共存的情况,⽐如我们设计模型层Model的时候往往也会拆分出业务逻辑层(Service层)和数据访问层(Dao层)。
但是⼆者的⽬的是相同的, 都是"解耦,分层,代码复⽤"