一:@Mapper和@MapperScan

1、@Mapper

@Mapper 将接口交给Spring进行管理,为这个接口生成一个实现类,让别的类进行引用、不再写mapper映射文件。

@Mapper //该注解将接口变成Spring容器中的一个bean
public interface UserMapper {public List<User> findAll();
}

2、@MapperScan

指定要扫描的Mapper类的包的路径,扫描mybatis Mapper接口类,将接口变成Spring容器的一个bean,让别的类可以进行引用,其实和@Mapper是一样的,只是@MapperScan使用更好,更全面。

@SpringBootApplication
@MapperScan(basePackages = "com.itydf.springboot.mapper")
public class SpringbootApplication {public static void main(String[] args) {SpringApplication.run(SpringbootApplication.class, args);}}

总结

@Mapper:是对单个类的注解、是单个操作、这种方式要求每一个mapper类都需要添加此注解,麻烦
@MapperScan 是对整个包下的所有的接口类的注解,是批量的操作。

二:@Autowired和@Resource

@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上
@Resource默认是按照名称装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入;
@Autowired默认是按照类型装配注入的,如果想按照名称来转配注入,则需要结合@Qualifier一起使用;
@Resource注解是由JDK提供,而@Autowired是由Spring提供

三:@RequestBody和@ResponseBody

1、@ResponseBody和@RequestBody的内部实现是同样的原理(封装请求和封装响应)
2、@ResponseBody注解,不会走视图解析器,不会返回页面,直接返回的json数据
3、@RequestBody 使用json传递数据、把json数据封装到对应对象里面、前端如果发送GET请求、后台使用GET无法请求到、必须改成POST请求、后台POST接收

四:@PathVariable和@RequestParam

1、@PathVariable :从路径里面去获取变量:如 localhost:8080/user/id/1

2、@RequestParam :是从请求里面获取参数 localhost:8080/user?id=1

总结: PathVariable一般用于get和delete请求,RequestParam一般用于post请求

五:@Controller和@RestController

1、@RestController注解相当于@ResponseBody + @Controller合在一起的作用。返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

2、使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面、若返回json等内容到页面,则需要加@ResponseBody注解

六:@SpringBootApplication

它是Spring Boot 的核心注解、主要组合包含了以下 3 个注解:

1、@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。

2、@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。

3、@ComponentScan:Spring组件扫描。

七:@Component

泛指组件,当组件不好归类的时候(不属于@Controller、@Services等的时候),我们可以使用这个注解进行标注。

八:@ControllerAdvice

特别实用、使用 @ControllerAdvice 能够实现全局异常处理,全局数据绑定、全局数据预处理。

九:@Repository

它用于将数据访问层 (DAO 层 ) 的类标识为 Spring容器管理的一个bean,@Repository注解是spring的注解,主动标识当前类要交给spring容器管理(相当于@Component注解)

十:@Transactional

在Spring中,事务有两种实现方式,分别是编程式事务管理和声明式事务管理两种方式

1、编程式事务管理: 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。

2、声明式事务管理: 建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务,通过@Transactional就可以进行事务操作,更快捷而且简单。推荐使用

十一:@Configuration

指出该类是 Bean 配置的信息源,相当于XML中的,一般加在主类上,标注此类为一个配置类。

Spring Boot中常见注解诠释相关推荐

  1. spring boot中的注解

    spring boot是个好东西,可以不用容器直接在main方法中启动,而且无需配置文件,方便快速搭建环境. 1.@RequestMapping的params参数使用场景 当同一个类中的两个方法的功能 ...

  2. Spring Boot 中 @EnableXXX 注解的驱动逻辑

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者 | 温安适 来源 | https://juejin. ...

  3. Spring Boot 中 @EnableXXX 注解的驱动逻辑探讨

    作者 | 温安适 来源 | https://juejin.im/post/5efdd689e51d4534af686ca9 工作中经常用到,如下注解: @EnableEurekaClient @Ena ...

  4. Spring Boot中使用MyBatis注解配置详解

    之前在Spring Boot中整合MyBatis时,采用了注解的配置方式,相信很多人还是比较喜欢这种优雅的方式的,也收到不少读者朋友的反馈和问题,主要集中于针对各种场景下注解如何使用,下面就对几种常见 ...

  5. Spring Boot中Spring data注解的使用

    文章目录 Spring Data Annotations @Transactional @NoRepositoryBean @Param @Id @Transient @CreatedBy, @Las ...

  6. springboot异步注解_Spring Boot 2 :Spring Boot 中的响应式编程和 WebFlux 入门

    [小宅按]Spring 5.0 中发布了重量级组件 Webflux,拉起了响应式编程的规模使用序幕. WebFlux 使用的场景是异步非阻塞的,使用 Webflux 作为系统解决方案,在大多数场景下可 ...

  7. Spring Boot中的缓存支持(一)注解配置与EhCache使用

    随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一.Spring 3开始提供了强大的基于注解的缓 ...

  8. 2.Spring Boot 中Json的使用,Jackson注解详解

    一.前言 1.介绍 我们常在项目中使用的Json转换工具是fastjson,事实上spring本身集成了非常优秀的json工具,分别为Jackson,Gson,JSON-B,但是官方项目中默认推荐使用 ...

  9. Spring Boot中Web应用的统一异常处理

    为什么80%的码农都做不了架构师?>>>    我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况.Spring Boot提供了一个默认的映射:/error,当处理中抛 ...

最新文章

  1. Axure RP 第一部分
  2. Cassandra 3.x官方文档(1)---关于Cassandra
  3. 【2012百度之星/初赛下】C:度度熊的礼物
  4. [Gradle] 在 Eclipse 下利用 gradle 构建系统
  5. 项目管理学习笔记二:信息系统服务管理
  6. iQOO Pro 5G评测:配置彪悍定价亲民 成功拉低5G手机准入门槛
  7. oracle 中WITH AS,oracle的with as用法
  8. windows如何把exe注册服务器,Win7将SVN注册为系统服务的方法(图文)
  9. java_泛型方法使用实例
  10. python---数据清洗
  11. 2022最新最全升级版【精品工具】用Appuploader发布上传iOS APP上架流程简单快速
  12. Solidity教程序列1 - 类型介绍
  13. Windows事件ID详细
  14. 5V转3.3V,你学会了吗?
  15. python从入门到实践十二章
  16. JavaScript学习(五)
  17. 【NVMe-MI 1.2a - 1】NVM Express Management Interface介绍
  18. CentOS7光盘定制化
  19. JS中生成与解析JSON
  20. 【AI测试】也许这有你想知道的人工智能 (AI) 测试--开篇

热门文章

  1. html文本框连接数据库失败,html表单未连接到mysql数据库
  2. oracle修改表字段约束条件,Oracle创建表、修改表、删除表、约束条件语法
  3. 信息学奥赛一本通(1172:求10000以内n的阶乘)
  4. 拦截导弹(信息学奥赛一本通-T1260)
  5. 收集瓶盖赢大奖(信息学奥赛一本通-T1045)
  6. 信息学奥赛一本通C++语言——1097: 画矩形
  7. 信息学奥赛C++语言:质数
  8. 15 CO配置-控制-内部订单-维护分配结构
  9. java面向对象的教程_java面向对象入门教程
  10. java 获取web目录结构_Intellij Idea Javaweb 目录结构及获取项目内资源