文章目录
- 快捷引入依赖
- lombok的使用
- Lombok依赖
- Lombok使用
- Lombok注解
- 三层架构
- 分层的目的
- MVC与分层的区别
- 三层架构
- 分层的好处
- 企业命名规范
- 常见命名命名风格介绍
- 大驼峰风格
- 小驼峰风格
- 包名
- 常见注解
- Cookie与Session
快捷引入依赖
这个方法可以快捷引入依赖,但是引入依赖并不一定没有问题,可能需要修改一些。
安装插件EditStarter, 在pom.xml文件中,单击右键,选择Generate(或者快捷键Alt+Insert),点击ok,进入EditStarters的编辑界面,添加对应依赖即可。
lombok的使用
Lombok依赖
Lombok是⼀个Java⼯具库,通过添加注解的⽅式,简化Java的开发。
使用IDEA创建项目或者通过可视化的方法引入lombok后,我的项目中出现了,编译过程中无法找到对应创建的方法,将下面的配置代码替换为自动添加的代码,实现了lombok的效果。
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version><scope>provided</scope></dependency>
<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等
@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响应状态码。