Spring Boot 常用注解
2022-04-27 16:53:54 48 举报
AI智能生成
Spring Boot 常用注解,帮忙点个赞👍
作者其他创作
大纲/内容
Bean处理
@Autowired
用法:用在属性、方法上
含义:byType 方式完成自动装配,把配置好的 Bean 拿来用,完成属性、方法的组装。当加上(required=false )时,就算找不到 bean 也不报错。
@Component
泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。一般公共的方法我会用上这个注解
@Respository
用于数据持久层,经常标记到DAO类上
@Service
用于服务层,经常标注到Service类上,常需要注入DAO层
@Controller
MVC控制层Bean,常需要注入Service层
@RestController
@RestController 注解,它继承自 @Controller 注解。 4.0 之前的版本, Spring MVC 的组件都使用 @Controller 来标识当前类是一个控制器 servlet 。使用这个特性,我们可以开发 REST 服务的时候直接使用@RestController 。
@Configuration
一般用来声明配置类
@Scope
声明 Spring Bean 的作用域
singleton
prototype
request
session
HTTP请求
@GetMapping
GET请求,从服务器获取特定资源
@PostMapping
POST请求,在服务器上创建一个新的资源
@PutMapping
PUT请求,更新服务器上的资源
@DeleteMapping
DELETE 请求,从服务器删除特定的资源
前后端参数传递
@RequestParam
用在方法的参数前面,获取请求中表单类型的key=value格式的数据
@PathVariable
路径变量,参数与大括号里的名字一样要相同。
@RequestBody
获取请求body中的数据,常用于搭配@PostMapping请求来提交对象数据
@ResponseBody
表示该方法的返回结果直接写入HTTP response body 中,格式为 json
读取配置
@value
直接读取各种配置源的属性名
@ConfigurationProperties
读取配置信息并与 bean 绑定
@PropertySource
指定加载自定义的配置文件
参数校验
Bean字段验证注解
@NotEmpty
@NotBlank
@Null
@NotNull
@AssertTrue
@AssertFalse
@Pattern(regex=,flag=)
@Email
@Min(value)
@Max(value)
@DecimalMin(value)
@DecimalMax(value)
@Size(max=, min=)
@Digits (integer, fraction)
@Past
@Future
@Valid
用于标注验证对象的级联属性
@Validated
Spring提供的注解,于SpringMVC一起使用,标注方法参数需要检查
统一异常处理
@ControllerAdvice
注解定义全局异常处理类,包含@Component所以可以被Spring扫描到
@ExceptionHandler
注解声明异常处理方法,表示遇到这个异常,就执行标注的方法
JPA数据持久化
@Entity
声明数据库实体类
@Table
设置表明
@Id
声明一个字段为主键
@GeneratedValue
声明主键的生成策略
@Column
声明字段,经常用于属性名和表字段的映射
@Transient
指定不需要持久化的字段
@Lob
声明某个字段为大字段
@Enumerated
声明枚举类型的字段
@Modifying
加在DAO方法上,提示是修改操作
@Transactional
作用于类上
表示所有该类的public 方法都配置相同的事务属性信息
作用于方法上
当类配置了@Transactional,方法也配置了@Transactional,方法的事务会覆盖类的事务配置信息
JSON格式处理
@JsonIgnoreProperties
作用在类上用于过滤掉特定字段不返回或者不解析
@JsonIgnore
一般用于属性上,作用和上面的@JsonIgnoreProperties 一样
@JsonFormat
用来格式化 json 数据
@JsonUnwrapped
扁平化对象
测试处理
@ActiveProfiles
常作用于测试类上, 用于声明生效的 Spring 配置文件
@Test
声明一个方法为测试方法
@Transactional
被声明的测试方法的数据会回滚,避免污染测试数据
@WithMockUser
Spring Security 提供的,用来模拟一个真实用户,并且可以赋予权限
配置启动
@SpringBootApplication
等价于以默认属性使用 @Configuration、@EnableAutoConfiguration、@ComponentScan
@Configuration
Spring Boot 提倡基于 Java 的配置,相当于你之前在 xml 中配置 bean
@EnableAutoConfiguration
类级别的注解,这个注解告诉 Spring Boot 根据添加的 jar 依赖猜测你想如何配置 Spring
@ComponentScan
标注哪些路径下的类需要被Spring扫描
@Conditional
@ConditionalOnBean
配置了某个特定的Bean
@ConditionalOnMissingBean
没有配置特定的Bean
@ConditionalOnClass
Classpath里有指定的类
@ConditionalOnMissingClass
Classpath里没有指定的类
@ConditionalOnExpression
给定的SpEL表达式计算结果为true
@ConditionalOnJava
Java的版本匹配特定值或者一个范围值
@ConditionalOnJndi
参数中给定的JNDI位置必须存在一个,如果没有给参数,则要有JNDI InitialContext
@ConditionalOnProperty
指定的配置属性要有一个明确的值
@ConditionalOnResource
Classpath里没有指定的资源
@ConditionalOnWebApplication
这是一个Web应用程序
@ConditionalOnNotWebApplication
这不是一个Web应用程序
收藏
0 条评论
下一页