前言
很久没做什么项目了,现在连一个最基本的Spring项目都不太会做了,特此来写下这篇文章,写下我最常用的注解以及我是如何组合起来使用的
本文仅用一个最简单的项目做示范。准备好,婴儿车发动了!
各司其职
一、服务启动
@SpringBootApplication
标记在类上,可以让该类变成一个IOC容器,并从这个类中启动web服务
二、控制层
因为作用于控制层的注解忒多了,所以我私自地把这一层的注解分为两类:返回视图、返回数据
返回视图
@Controller:标记该类变为返回视图的控制层组件
@RequestMapping:标记该方法是在访问时直接返回视图的方法
- 视图控制层组件
- 视图
- 最终效果
返回数据
@RestController:标记该类为返回数据的控制层组件
@GetMapping:标记该方法为Get请求访问的方法(查询)
@PostMapping:标记该方法为Post请求访问的方法(增加)
@PutMapping:标记该方法为Put请求访问的方法(修改)
@DeleteMapping:标记该方法为Delete请求访问的方法(删除)
@RequestBody:接收POST、PUT请求传来的请求体中的数据
@PathVariable:接收GET、DELETE请求路径中的参数
@CrossOrign:标记防止该方法发生跨域问题
-
控制层组件的GET请求
-
控制层组件的POST请求
-
控制层组件的PUT请求
-
控制层组件的DELETE请求
如果大家做成前后端分离的项目,记得可以在每个方法前加上@CrossOrigin这个注解来解决跨域问题
三、服务层
这一层的注解还是比较少的(当然我只是说我用的多的),只是记住写服务层的时候要创建service文件夹,里面写上service接口,再在里面写上impl文件夹,impl文件夹中才是service接口的实现类,目的是实现解耦
@Service:标记该类为服务层组件
@Tranactional:标记该方法为一个事务(标记在类上表示所有方法都开启事务)
-
服务层接口
-
服务层实现类
四、持久层+实体类
这一层主要是涉及到了mybatis的框架的使用和实体类
@Mapper:标记该类为持久层组件(当然Reposity注解也可以,俩都差不多,只有一点不同,这里就不多bb了)
@Component:标记该类是一个pojo(实体类)
xml:在resouce\mapper\里,用来实现mapper接口
-
实体类
-
Mapper接口
-
Mapper接口的xml
五、将三层联系起来
这里是联系时长两年半的个人偶像…不好意思串台了。重新来一遍,这里的注解是能把三层联系起来的注解,要不然三层架构分这么细啥用也没有对吧。
@Autowired:自动装配(比@Resource常用一点)
- 连接控制层与服务层
2.连接服务层与持久层
六、其它
@Configuration:标志该类变为配置类,个人认为有了@SpringBootApplication注解就可以免去这个了
@Value:标志在类的属性上,可以从配置文件中读取数据(@Value($“id”))
最后
本文适合有一些Spring基础,知道做项目的流程的哥们来捋一下注解都有什么。🥳