当前位置:   article > 正文

springboot常用注释_springboot 注释

springboot 注释

一般注解

@PostConstruct

标注到Springboot初始化就执行的方法,需要类上有@Component等注解

@SpringBootApplication

标注该类是主程序,包括下边三个注解
@Configuration 表示将该类作用springboot配置文件类
@EnableAutoConfiguration: 程序启动时,自动加载springboot默认的配置。
@ComponentScan 表示程序启动时,自动扫描当前包及子包下所有类。

@Autowired

从容器中找该类型的变量进行赋值。注释类,方法,变量

@CrossOrigin

允许跨域.常用属性值:
origins:允许访问的域列表->http://domain2.com
maxAge 准备响应前的缓存持续的最大时间,单位为秒

@Profile

使指定的类或方法在特定的Profile环境生效,参考链接

@ImportResource

用来加载xml的bean

@ImportResource{"classpath *:applicationContext.xml"}
  • 1

@Import

将类注入到容器中

容器标识

@Component

用来标识一个组件

@Repository

用来标注dao(存储/持久)层组件,创建一个这个名字的实例到容器中

@Service

用来标注service(业务)层组件,创建一个实例到容器中

@Controller

用来标注controller(控制)层组件,可以在@RequestMapping中返回html页面

@Configuration

定义配置类,可替换xml文件,等价于<Beans></Beans>
不可修饰final类型;不可修饰匿名类;嵌套的@configuration必须是静态类

@Bean

标注在方法上,等价于<Bean></Bean>,可以使用return.有属性,get,set和业务逻辑

@Scope

用于定义作用域.常用属性值
singleton 单例模式
prototype原型模式,每次返回一个新的实例
request 每次http请求创建一个新的bean,当前request有效
session 每次http请求创建一个新的bean,当前session有效
global session

@ConfigurationProperties

用于读取配置文件.常用属性值:
prefix 键的前缀
locations 文件的位置

Restful常用

@RestController

@ResponseBody@Controller的组合注解。加了可以直接返回字符数据,不返回index页面。可参考该链接

@ResponseBody

标识返回JSON等字符数据

@RequestMapping

用于映射url。常用属性有
value 指定访问url
method 指定GET或POST访问(RequestMethod.GET)
produces 设置返回值类型还可以设定返回值的字符编码
consumes 指定处理请求的提交内容类型(Content-Type)

@ PathVariable

将URL中占位符参数{xxx}绑定到处理器类的方法形参中@PathVariable(“xxx“)

@RequestMapping("show5/{id}/{name}")
Public void test(@PathVariable("id") Long ids ,@PathVariable("name") String names){}
  • 1
  • 2

@RequestBody

获取非 application/x-www-form-urlencoded请求的数据。
application/json
application/xml

JSON可以直接解析为List<Map<String, String>>
具体可以参考如下

@RequestParam

获取 application/x-www-form-urlencoded请求的数据。可用于 GET POST DELETE等, 常用属性有
required 表示是否必须,默认为 true,必须。
defaultValue 可设置请求参数的默认值。
value 为接收url的参数名(相当于key值)

异步任务

@EnableAsync

标记在类上,开启异步任务.主类即可

@Async

标记在方法上,为异步任务。

定时任务

@EnableScheduling

开启定时任务.标记主类即可

@Scheduled

标记定时任务.常用属性值:
fixedDelay 方法执行间隔。上次未执行完,下一次不执行。执行完后间隔指定时间再次执行
fixedRate 方法执行间隔。上次未执行完,下一次不执行。记录阻塞过程中应该执行的次数。不阻塞时一口气执行完,再按原时间执行。
corn 可以定制执行任务时间。其他与fixedDelay相同
initialDelay 启动时延迟指定时间
@Scheduled(initialDelay = 10000,fixedRate = 15000)
  • 1

启动延迟10s,然后每隔15秒执行。参考连接

Jackson

@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)

用于接收表单键值对的日期格式化时间,转为Date

@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”)

用于出参格式化时间为JSON
上边两个注解的作用可以参考12

@JsonProperty(value=“name”)

把该属性的名称序列化为另外一个名称

@JsonIgnore

用来标识不想传递给前台的属性
: Jackson其他注解

事务相关

@EnableTransactionManagement

开启事务支持

@Transactional

注释到方法,使其支持事务。

Lombok

参考链接

@Getter

自动生成属性的getter方法

@Settter

自动生成属性的setter方法

@ToString

自动生成类的toString方法

Swagger中的注解1

@ EnableSwagger2

用于开启Swagger2

@Api

用在请求的类上,对类的说明.常用属性:
tags说明该类的作用,可以在UI界面上看到的注解

@ApiOperation

用来构建API文档,放到方法上.常用属性
value 接口说明
httpMethod 接口请求方式
response 接口返回参数类型
notes 接口发布说明

@ApiImplicitParam

指定一个请求参数的各个方面.常用属性:
name 参数名
value 参数的汉字说明、解释
required 参数是否必须传
paramType 参数放在哪个地方
  • path 以地址的形式提交数据
  • query 直接跟参数完成自动映射赋值
  • body 以流的形式提交 仅支持POST
  • header 参数在request headers 里边提交
  • form 以form表单的形式提交 仅支持POST
dataType 参数类型,默认String,其它值dataType=“Integer”
defaultValue 参数的默认值
参数过多可以参考 这个.

@ApiImplicitParams

放一组@ApiImplicitParam

@ApiImplicitParams({
	@ApiImplicitParams(),
	@ApiImplicitParams()
})
  • 1
  • 2
  • 3
  • 4

@ApiResponse

用在 @ApiResponses中,一般用于表达一个错误的响应信息.常用参数:
code 数字,例如400
message 信息,例如"请求参数没填好"
response 抛出异常的类
可以 参考

@ApiResponses

用在请求的方法上,表示一组响应

@ApiModel

用于响应类上,表示一个返回响应数据的信息
(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)

@ApiModelProperty

用在属性上,描述响应类的属性
响应类的样式

Java默认注解

@Override

重写方法时,名字出错,编译器报错

@Deprecated

标识某个类的属性或方法已经过时

@SuppressWarnings

压制程序中出来的警告,可供压制的参数参考

@Retention

修饰注释的注释
@Retention(RetentionPolicy.CLASS)修饰的注解,表示注解的信息被保留在class文件(字节码文件)中当程序编译时,但不会被虚拟机读取在运行的时候;
@Retention(RetentionPolicy.SOURCE)修饰的注解,表示注解的信息会被编译器抛弃,不会留在class文件中,注解的信息只会留在源文件中;
@Retention(RetentionPolicy.RUNTIME)修饰的注解,表示注解的信息被保留在class文件(字节码文件)中当程序编译时,会被虚拟机保留在运行时,
参考链接

@Target

用来标记注释可以修饰的范围

自定义注解

public @interface UserLogin{ }
  • 1

用于定义一个@UserLogin注解,可以加到Class,Method,Field上,相当于添加了附加信息,便于其他类进行判断.参考链接


  1. 参考链接 ↩︎

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/239542
推荐阅读
相关标签
  

闽ICP备14008679号