文章目录
快捷引入依赖
这个方法可以快捷引入依赖,但是引入依赖并不一定没有问题,可能需要修改一些。
安装插件EditStarter , 在pom.xml文件中,单击右键,选择Generate(或者快捷键Alt+Insert),点击ok,进入EditStarters的编辑界面,添加对应依赖即可。
lombok的使用
Lombok依赖
Lombok是⼀个Java⼯具库,通过添加注解的⽅式,简化Java的开发。
使用IDEA创建项目或者通过可视化的方法引入lombok后,我的项目中出现了,编译过程中无法找到对应创建的方法,将下面的配置代码替换为自动添加的代码,实现了lombok的效果。
xml
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>17</source>
<target>17</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
Lombok使用
lombok通过⼀些注解的方式,可以帮助我们消除⼀些冗长代码,使代码看起来简洁⼀些。
@Data 注解会帮助自动实现⼀些方法,包含getter/setter,equals,toString等
java
@Data
public class MessageInfo {
private String from;
private String to;
private String say;
//通过一个工具jar包,通过一个注解@Data来实现对get、set方法的撰写
}
具体查看加了@Data注解后手机闲了哪些方法,可以通过大家编译后反编译的文件进行查看,也就是target文件。
Lombok注解
注解 | 作用 |
---|---|
@Getter | ⾃动添加getter方法 |
@Setter | ⾃动添加setter方法 |
@ToString | ⾃动添加toString方法 |
@EqualsAndHashCode | ⾃动添加equals和hashCode方法 |
@NoArgsConstructor | ⾃动添加⽆参构造方法 |
@AllArgsConstructor | ⾃动添加全属性构造方法,顺序按照属性的定义顺序 |
@NonNull | 属性不能为null |
@RequiredArgsConstructor | ⾃动添加必需属性的构造方法,final+@NonNull 的属性为必需 |
@Data=@Getter+@Setter+@ToString+@EqualsAndHashCode+@RequiredArgsConstructor+@NoArgsConstructor
三层架构
分层的目的
MVC模式强调数据和视图分离,将数据展示和数据处理分开,通过控制器对两者进⾏组合。
三层架构强调不同维度数据处理的高内聚和低耦合,将交互界面,业务处理和数据库操作的逻辑分开。
但是⼆者的目的是相同的,都是"解耦,分层,代码复用"。
MVC与分层的区别
MVC架构模式由三部分组成,分别是:模型(Model),视图(View)和控制器(Controller)。
三层架构将业务应用划分为:表现层,业务逻辑层,数据访问层。
视图和控制器合起来对应三层架构中的表现层,模型对应三层架构中的业务逻辑层,数据层,以及实体类。
三层架构
- 表现层(Controller):接收前端发送来的请求,对请求进行处理,并结果响应。
- 业务逻辑层(service):根据请求,对数据进行加工处理,处理具体的业务逻辑。
- 数据层(Dao):数据相关的处理,比如从mysql, hbase等获取数据等。
在此基础上,还有会个保存实体类的层(model),但是不同的项目有不同表现。
分层的好处
- 降低层与层之间的依赖,结构更加的明确,利于各层逻辑的复用。
- 开发人员可以只关注整个结构中的其中某⼀层,极大地降低了维护成本和维护时间。
- 可以很容易的用新的实现来替换原有层次的实现。
- 有利于标准化。
企业命名规范
常见命名命名风格介绍
大驼峰:所有单词首字母都需要大写,又叫帕斯卡命名法,比如: UserController
小驼峰:除了第一个单词,其他单词首字母大写,比如: userController
蛇形:用下划线(_)作用单词间的分隔符,一般小写,又叫下划线命名法,比如: user_controller
串形:用短横线(-)作用单词间的分隔符,又叫脊柱命名法,比如: user-controller
大驼峰风格
类名使用大驼峰风格,但以下情形例外:DO/BO/DTO/VO/AO。
小驼峰风格
方法名、参数名、成员变量、局部变量统⼀使用小驼峰风格。
包名
包名统⼀使用小写,点分隔符之间有且仅有⼀个自然语义的英语单词。
常见注解
- @RequestMapping:路由映射
- @RequestParam:后端参数重命名
- @RequestBody:接收JSON类型的参数
- @PathVariable:接收路径参数
- @RequestPart:上传文件
- @ResponseBody:返回数据
- @CookieValue:从Cookie中获取值
- @SessionAttribute:从Session中获取值
- @RequestHeader:从Header中获取值
- @Controller:定义一个控制器,Spring框架启动时加载,把这个对象交给Spring管理,默认返回视图
- @RestController:@ResponseBody+ @Controller 返回数据
Cookie与Session
Cookie和Session都是会话机制,Cookie是客户端机制,Session是服务端机制。二者通过Sessionld来联。SpringMVC内置HttpServletRequest,HttpServletResponse两个对象,需要使用时,直接在方法中添加对应参数即可,Cookie和Session可以从HttpServletRequest中来获取,也可以直接使用HttpServletResponse设置Http响应状态码。