本文只是简单介绍一些SpringBoot的常用注解,没有实际代码
后期会继续进行文档编写
@SpringBootApplication
SpringBoot项目最基本以及根本的注解,默认在主类上使用。@SpringBootApplication是由@Configuration、@EnableAutoConfig、@ComponentScan三个注解的组合。
三个注解的作用
| 注解 | 说明 |
|---|---|
@Configuration | 允许在Spring·上下文中注册额外的Bean或导入其他配置类 |
@EnableAutoConfig | 启用SpringBoot的自动配置机制 |
@ComponentScan | 扫描被@Component注解的Bean,注解默认会扫描该类所在的包下的所有类 |
@Autowired
自动导入对象到类中,被注入的类接受当前类的容器管理@Component
| 注解 | 说明 |
|---|---|
@Repository | 对应持久层(Mapper或Dao层),主要用于数据库相关操作 |
@Service | 对应服务层,主要涉及一些复杂的逻辑,需要使用持久层 |
@Controller | 对应SpringMVC控制层,主要接收用户请求并调用服务层返回数据 |
@RestController
由@Controller和@ResponseBody的组合,表示这是一个控制器Bean,并且是将函数的返回值接入直接填入到HTTP响应头,是一个Rest风格的控制器
单独使用
@Controller一般是在前后端不分离的情况下,适用于前后端不分离
@Scope
声明SpringBoot中Bean的作用域。
常见的作用域:
| 作用域 | 说明 |
|---|---|
singleton | 唯一Bean实例,Spring中的Bean默认都是单例 |
prototype | 每次请求都会创建一个新的Bean实例 |
request | 每一次Http请求都会产生一个新的Bean,仅在当前Http request内有效 |
session | 每一次Http请求都会产生一个新的Bean,仅在当前Http session内有效 |
@Configuration
一般用于声明配置类,可以使用@Component注解替代,不过使用该注解更加语义化。@RequestMapping
配置url映射。
该注解可以作用在控制器上,也可以作用在控制器方法上。
如果使用在方法上可以添加以下几个请求
method请求 | 说明 |
|---|---|
GET | 请求服务器获取特定资源 |
POST | 在服务器上创建一个新的资源 |
PUT | 更新服务器上的资源 |
DELETE | 从服务器删除特定的资源 |
PATCH | 更新服务器上的资源 |
@PathVariable
获取路径参数。@RequestParam
用于获取查询参数。@RequestBody
主要用于接收前端传递给后端的JSON字符串。@Value
读取比较简单的配置信息。@ConfigurationProperties
通过该注解读取配置信息并与Bean绑定常用参数校验
| 注解 | 说明 |
|---|---|
@NotEmpty | 字符串不能为null,也不能为空 |
@Pattern(regex=,flag=) | 元素必须符合指定的正则表达式 |
@Email | 元素必须为Email格式 |
@Min(value) | 元素必须大于等于指定数字 |
@Max(value) | 元素必须小于等于指定数字 |
@Size(min=,max=) | 元素必须在指定大小范围 |
| 日后再添 |
使用这些注解必须再控制器上需要验证的参数前面加上
@Valid注解
@ControllerAdvice
注解定义全局异常处理类。@Transactional
在方法上开启事务。