@EnableAutoConfiguration

启动自动装载:使用了这个注解之后,所有引入的jar的starters都会被自动注入。这个类的设计就是为starter工作的。

@RestController

这个注解专门用于写RESTful的接口的,里面集成了@Controller和@ResponseBody注解。
@ResponseBody 这个注解会自动利用默认的Jackson将return的对象序列化成json格式。

@RequestMapping 、@GetMapping、@PostMapping

这些注解主要是配置路由信息。

@Import、@ImportResource、@Configuration 、@PropertySources

@Configuration :标识当前类是一个Java配置类
@Import:用于手动注入Java config类。
@ImportResource:用于注入XML配置类。
@PropertySources :用于注入properties的配置文件。

@Value、 @ConfigurationProperties

@Value 这个注解会通过设定的key自动注入 properties文件里面配置的Property属性值。比如
@Value(“${test.name}”) 会自动引入properties文件里面配置的test.name的值。 @ConfigurationProperties的作用和@Value类似,但是使用起来稍微麻烦,就不做讲解了。

查看自动加载的类:
If you need to find out what auto-configuration is currently being applied, and why, start your application with the –debug switch. This will enable debug logs for a selection of core loggers and log an auto- configuration report to the console.

@SpringBootApplication

@SpringBootApplication注解等价于以默认属性使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 。

这里有一点需要注意:如果我们需要disable一些特殊的自动装载的类。可以使用@EnableAutoConfiguration的exclude属性,去掉自动装载的类。
当然,这个属性加在@SpringBootApplication注解上也是可以的。 @ComponentScan
组件扫描,如果加载Application这个类上,就不需要参数,自动扫面Application所在的路径和其下面的包下。不然需要加扫描包路径。

自动扫描:@Repository、@Service、@Controller、@Component 组件。

@Repository、@Service、@Controller、@Component
组件的标注:在Annotaion配置注解中用@Component来表示一个通用注释用于说明一个类是一个Spring容器管理的类。即该类已经拉入到Spring的管理中了。
而@Controller, @Service, @Repository是@Component的细化,这三个注解比@Component带有更多的语义,它们分别对应了控制层、服务层、持久层的类。 @Repository注解:用于标注数据访问组件,即DAO组件
@Service注解:用于标注业务层组件
@Controller注解:用于标注控制层组件(如struts中的action)
@Component注解:泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

@Profile

这个注解主要加在@Component or @Configuration上面。标识当前profile环境。对于不同的环境可以可以选择是否加载这些配置。

然后在application.properties中选择环境,用逗号分隔。
spring.profiles.active=xxxx

@ServletComponentScan

@ServletComponentScan 注解加上后拦截器失效; 去掉后过滤器和监听器失效

@EnableCaching

开启Cache缓存支持;

@PathVariable:

路径变量。

@Conditional以及其元注解

@Conditional:满足特定条件创建一个Bean,SpringBoot就是利用这个特性进行自动配置的;
@ConditionalOnProperty:指定的属性是否有指定的值;
@ConditionalOnClass:当类路径下有指定类的条件下

@Autowired和@Resource

@Autowired :默认按照类型加载
@Resource: 默认按照bean的Name进行加载 不过上面两种都可以通过@qualifier 注解设置注入bean的Name

@Mapper

Mapper接口声明

【SpringBoot】常用注解的更多相关文章

  1. SpringBoot 常用注解(持续更新)

    SpringBoot 常用注解 @SpringBootApplication @Bean @ComponentScan @ControllerAdvice @ExceptionHandler @Res ...

  2. SpringBoot 入门篇(二) SpringBoot常用注解以及自动配置

    一.SpringBoot常用注解二.SpringBoot自动配置机制SpringBoot版本:1.5.13.RELEASE 对应官方文档链接:https://docs.spring.io/spring ...

  3. 接近8000字的Spring/SpringBoot常用注解总结!安排!

    0.前言 大家好,我是 Guide 哥!这是我的 221 篇优质原创文章.如需转载,请在文首注明地址,蟹蟹! 本文已经收录进我的 75K Star 的 Java 开源项目 JavaGuide:http ...

  4. Spring/SpringBoot常用注解总结

    转自:[Guide哥] 0.前言 可以毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我都说了具体用法,掌握搞懂,使 ...

  5. SpringBoot介绍,快速入门小例子,目录结构,不同的启动方式,SpringBoot常用注解

    SpringBoot介绍 引言 为了使用ssm框架去开发,准备ssm框架的模板配置 为了Spring整合第三方框架,单独的去编写xml文件 导致ssm项目后期xml文件特别多,维护xml文件的成本也是 ...

  6. 菜鸟的springboot常用注解总结

    菜鸟的springboot常用注解总结 0.前言 可以毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我都说了具体用 ...

  7. SpringBoot常用注解的介绍及使用 - 转载

    常用注解 @springBootApplication 系统启动类注解,此注解是个组合注解,包括了:@SpringBootConfiguration,@EnableAutoConfiguration, ...

  8. 结合参数接收响应转换原理讲解SpringBoot常用注解

    一.常用注解回顾 1.1 @RequestBody与@ResponseBody //注意并不要求@RequestBody与@ResponseBody成对使用. public @ResponseBody ...

  9. springboot系列五、springboot常用注解使用说明

    一.controller相关注解 1.@Controller 控制器,处理http请求. 2.@RespController Spring4之后新加的注解,原来返回json需要@ResponseBod ...

  10. SpringBoot常用注解(三)

    最全的Java常用开发注解 转   https://blog.csdn.net/weixin_40753536/article/details/81285046              Spring ...

随机推荐

  1. gcc的使用简介与命令行参数说明

    (一) gcc的基本用法(二) 警告提示功能选项(三) 库操作选项(四) 调试选项(五) 交叉编译选项 (一) gcc的基本用法使用gcc编译器时,必须给出一系列必要的调用参数和文件名称.不同参数的先 ...

  2. gstreamer

    Abstract Ogg Vorbis is a completely open, patent-free, professional audio encoding and streaming tec ...

  3. JMS消息队列之ActiveMQ简单示例

      废话不多说,在进入主题前先看一张图,对ActiveMQ有个大体的了解:   下面进入主题:   1.添加需要的maven依赖 <!-- active mq begin --> < ...

  4. 新建项目虚拟环境及pycharm配置

    基本操作 查询已有的虚拟环境 workon 激活虚拟环境 workon 虚拟环境名 退出虚拟环境 deactivate 删除虚拟环境 rmvirtualenv 虚拟环境名 查看python版本检查 p ...

  5. 自然语言处理之LCS最长公共子子序列

    #!一个序列S任意删除若干个字符得到的新序列T,则T叫做S的子序列 注意,这个和最长公共字串不一样,最长公共子串要求连续. 1.算法公式: def lcs(a,b): lena = len(a) le ...

  6. TCP和UDP的对比

    UDP #面向报文 UDP 是一个面向报文(报文可以理解为一段段的数据)的协议.意思就是 UDP 只是报文的搬运工,不会对报文进行任何拆分和拼接操作. 具体来说 在发送端,应用层将数据传递给传输层的 ...

  7. php学习随笔--定时触发

    PHP访问接口方法:

  8. 死磕安卓前序:MVP架构探究之旅—基础篇

    前言 了解相关更多技术,可参考<我就死磕安卓了,怎么了?>,接下来谈一谈我们来学习一下MVP的基本认识. 大家对MVC的架构模式再熟悉不过.今天我们就学习一下MVP架构模式. MVC和MV ...

  9. Oracle12c 从入门到精通(第二版) 闫红岩 金松河 编著

    声明:本文只是用于学习笔记使用.方便查询.若需要书本,请到书店购买. 本书封面 前言 第1章 Oracle数据库概述 1.1 Oracle数据库产品结构及组成 1.1.1 标准版 1.1.2 标准版 ...

  10. Confluence 6 使用 Apache 和 mod_proxy

    Atlassian 应用允许用户使用反向代理,但是 Atlassian 并不会为这个功能的配置提供支持.因此,Atlassian 也不能保证能够为这些配置提供任何支持. 如果你在配置上有任何需求,请参 ...