SpringBoot常用注解

组件相关

@Controller@Service 都派生于 @Component

SpringBoot 中的组件扫描功能会识别到这些注解。

@Component

该注解是万能的注解

通常加在配置类上

@Controller

修饰控制器层组件

接收请求,对请求进行分发

可以跳转到模板页面。

@RestController 只能返回实体对象,不能跳转到模板页面。

@Service

修饰业务层组件

@Repository

用于修饰 dao 层组件

专注于系统数据的处理。

依赖注入

@Autowired

auto wired:自动联线

根据对象的 类型 自动注入依赖对象

@Resource

默认会根据对象的 名称 自动注入依赖对象

1
2
3
@Autowired
@Resource(name = "umsAdminServiceImpl")
private UmsAdminService adminService;

@Qualifier

当同一个对象有多个实例可以注入时

实例与生命周期

@Bean

用于修饰方法,标识该方法会创建一个 Bean 实例,并交给 Spring 容器来管理。

@Scope

用于声明一个 Spring Bean 实例的作用域

SpringMVC 相关

@RequestMapping

用于将 Web 请求路径映射到处理类的方法上。

当用于类上时,可以统一类中所有方法的路由路径。

@RequestBody

该注解常用来处理 content-type 不是默认的 application/x-www-form-urlcoded 编码的内容。

一般是用来处理 application/json 类型

@ResponseBody

将控制器方法返回的对象通过适当的转换器转换为指定的格式之后,写入到响应对象的 body 中,通常用来返回 JSON 或 XML 数据。

@RequestParam

用于接收请求参数

  • GET路径参数

  • 表单参数

  • 文件上传请求的部分参数

@RequestPart

用于接收文件上传中的文件参数

配置相关

@Configuration

用于声明一个 Java 形式的配置类,SpringBoot 推荐使用 Java 配置,在该类中声明配置将被 SpringBoot 的组件扫描功能扫描到。

@SpringBootApplication

用于表示 SpringBoot 应用中的启动类

@Value

用于把配置文件中配置好的属性注入到类中。

1
2
3
4
5
6
7
8
public class JwtTokenUtil {
@Value("${jwt.secret}")
private String secret;
@Value("${jwt.expiration}")
private Long expiration;
@Value("${jwt.tokenHead}")
private String tokenHead;
}

@ConfigurationProperties

用于批量注入外部配置

1
2
3
4
@ConfigurationProperties(prefix = "secure.ignored")
public class IgnoreUrlsConfig {

}

AOP相关

@Aspect

@Before

@After

测试相关

@SpringBootTest

@Test