完成一个Spring项目

前言

很久没做什么项目了,现在连一个最基本的Spring项目都不太会做了,特此来写下这篇文章,写下我最常用的注解以及我是如何组合起来使用的
本文仅用一个最简单的项目做示范。准备好,婴儿车发动了!

各司其职

一、服务启动

@SpringBootApplication

标记在类上,可以让该类变成一个IOC容器,并从这个类中启动web服务
在这里插入图片描述

二、控制层

因为作用于控制层的注解忒多了,所以我私自地把这一层的注解分为两类:返回视图、返回数据

返回视图

@Controller:标记该类变为返回视图的控制层组件
@RequestMapping:标记该方法是在访问时直接返回视图的方法

  1. 视图控制层组件
    在这里插入图片描述
  2. 视图
    在这里插入图片描述
  3. 最终效果
    在这里插入图片描述

返回数据

@RestController:标记该类为返回数据的控制层组件
@GetMapping:标记该方法为Get请求访问的方法(查询)
@PostMapping:标记该方法为Post请求访问的方法(增加)
@PutMapping:标记该方法为Put请求访问的方法(修改)
@DeleteMapping:标记该方法为Delete请求访问的方法(删除)
@RequestBody:接收POST、PUT请求传来的请求体中的数据
@PathVariable:接收GET、DELETE请求路径中的参数
@CrossOrign:标记防止该方法发生跨域问题

  1. 控制层组件的GET请求
    在这里插入图片描述

  2. 控制层组件的POST请求
    在这里插入图片描述

  3. 控制层组件的PUT请求
    在这里插入图片描述

  4. 控制层组件的DELETE请求

在这里插入图片描述
如果大家做成前后端分离的项目,记得可以在每个方法前加上@CrossOrigin这个注解来解决跨域问题

三、服务层

这一层的注解还是比较少的(当然我只是说我用的多的),只是记住写服务层的时候要创建service文件夹,里面写上service接口,再在里面写上impl文件夹,impl文件夹中才是service接口的实现类,目的是实现解耦
@Service:标记该类为服务层组件
@Tranactional:标记该方法为一个事务(标记在类上表示所有方法都开启事务)

  1. 服务层接口
    在这里插入图片描述

  2. 服务层实现类
    在这里插入图片描述

四、持久层+实体类

这一层主要是涉及到了mybatis的框架的使用和实体类
@Mapper:标记该类为持久层组件(当然Reposity注解也可以,俩都差不多,只有一点不同,这里就不多bb了)
@Component:标记该类是一个pojo(实体类)
xml:在resouce\mapper\里,用来实现mapper接口

  1. 实体类
    在这里插入图片描述

  2. Mapper接口
    在这里插入图片描述

  3. Mapper接口的xml

在这里插入图片描述

五、将三层联系起来

这里是联系时长两年半的个人偶像…不好意思串台了。重新来一遍,这里的注解是能把三层联系起来的注解,要不然三层架构分这么细啥用也没有对吧。
@Autowired:自动装配(比@Resource常用一点)

  1. 连接控制层与服务层
    在这里插入图片描述

2.连接服务层与持久层
在这里插入图片描述

六、其它

@Configuration:标志该类变为配置类,个人认为有了@SpringBootApplication注解就可以免去这个了
@Value:标志在类的属性上,可以从配置文件中读取数据(@Value($“id”))

最后

本文适合有一些Spring基础,知道做项目的流程的哥们来捋一下注解都有什么。🥳

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值