SpringBoot 注解笔记

@PostConstruct

从Java EE5规范开始,Servlet中增加了两个影响Servlet生命周期的注解,@PostConstruct和@PreDestroy,这两个注解被用来修饰一个非静态的void()方法。写法有如下两种方式:

@PostConstruct
public void someMethod(){}

// 或者

public @PostConstruct void someMethod(){}

被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init() 方法之前执行。PreDestroy() 方法在destroy() 方法执行之后执行。

@Primary注解

当一个接口有2个不同实现时,使用@Autowired注解时会报org.springframework.beans.factory.NoUniqueBeanDefinitionException异常信息

解决方案1:使用Qualifier注解,选择一个对象的名称,通常比较常用

解决方案2:Primary可以理解为默认优先选择

@CrossOrigin

表示该控制器可以跨域访问

@RequiredArgsConstructor

注解在控制器上,然后多个service属性声明为final,这些值就会被spring自动注入,就不用写 @Autowired了。。。

@RequestBody

备注在controller方法参数前,表示将请求体中的数据映射到某个对象上

@ResponseBody

备注在controller的类上,方法上,表示将返回的结果写入响应体中,不返回页面,直接返回数据

@RequestParam

备注到controller类方法形参前,但是只能映射基本类型数据,不能映射对象,默认被该注解标注的参数为必填参数

完整写法: @RequestParam(value="参数名",required="是否必填",defaultValue="如果没填写,默认值是?")

@ConfigurationProperties(prefix = "spring")

注解到类上,类中的属性对应 properties 或 yaml 文件中 spring 前缀后面的的字段

容器启动时,配置文件中的值会自动映射到属性中来。

和@Value原理一样,但这个是一次性全赋值的操作,简单省事

如果属性和配置文件中的字段不一致,那么容器启动时会报错,无法正常启动

@RefreshScope

在类上加该注解表示该类中的属性值是可以随着配置中心的配置文件更改而实时刷新的,

大致流程 -> 配置中心修改配置文件 -> 发送刷新请求 -> 类中属性值重新读取配置文件的值 -> 实现动态刷新属性值 

也就不需要重启服务就可以更改配置啦!

@Order(int)

注解在类上表示Bena加载顺序 ,数字越小加载越早

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值