Spring 注解使用

@ConfigurationProperties

该注解有一个prefix属性,通过指定的前缀,绑定配置文件中的配置,该注解可以放在类上,也可以放在方法上

当将该注解作用于方法上时,如果想要有效的绑定配置,那么该方法需要有@Bean注解且所属Class需要有@Configuration注解。

application.yml 配置文件的

1
2
3
4
5
spring:
redis:
port: 6379
host: localhost
database: 1

使用参考代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@Configuration
@Data
@ConfigurationProperties(prefix = "spring.redis")
public class RedissonConfig {

private String host;
private String port;
@Bean
public RedissonClient redissonClient(){
// 1. 创建配置
Config config = new Config();
String redisAddress = String.format("redis://%s:%s", host, port);
config.useSingleServer().setAddress(redisAddress).setDatabase(3);
// 2. 创建实例
RedissonClient redisson = Redisson.create(config);
return redisson;
}
}

@Trancational(rollbackFor = Exception.class)

声明式事务管理,添加位置为接口实现类、接口实现方法上

默认配置下, Spring 只有抛出的异常为运行时, unchecked 异常时才会回滚该事务。即抛异常为 RunTimeException 的子类 (Error 也会导致事务回滚),抛出 checked 异常不会导致事务回滚。可通过 rollbackFor 来配置

@CrossOrigin

解决跨域问题,默认情况下允许在该注解中指定的所有源和 HTTP 方法

  • origins: 允许可访问的域列表
  • maxAge:准备响应前的缓存持续的最大时间(以秒为单位)。
1
@CrossOrigin(origins = {"http://127.0.0.1:5173/"}, allowCredentials = "true")