Spring注解
是Java注解 在Spring框架中的应用,它们提供了一种简洁、声明式的配置方式,用于替代或补充XML配置文件。
通过在类、方法、属性上使用这些注解,开发者可以指导Spring容器如何自动扫描、装配Bean、管理依赖注入、处理事务以及其他与Spring框架相关的功能。
SpringBoot注解
是基于Spring框架并专为简化Spring应用的初始搭建以及开发过程而设计的一系列注解。
它们通过自动配置、组件扫描和启动器(Starter)机制极大地减少了手动配置的工作量,让开发者能够快速构建生产级别的、独立运行的微服务应用。
Spring Core Annotations
SpringBoot @SpringBootApplication
Spring @ComponentScan
Spring @Component, @Repository, @Service, @Controller
DI-Related Annotations
Spring @Configuration
Spring @Bean
Spring @Conditional
Spring @DependsOn
Spring @Autowired,@Resource,@Inject
Spring @Resource
Spring @Inject
Spring @Autowired
Spring @Qualifier
Spring @Primary
Spring @Scope
Spring @Lookup
Spring @Required
Spring @Lazy
Spring @Value
Spring @ConfigurationProperties
Context Configuration Annotations
Spring Profiles and @Profile
Spring @Import
Spring @ImportResource
Spring @PropertySource @PropertySources
请求映射相关
@RequestMapping
:用于映射HTTP请求
到控制器类
或控制器类中方法
Further Reading : What is @RequestMapping
does?
@PostMapping
: @RequestMapping(method = RequestMethod.POST)
的一个快捷方式
@PostMapping("/users")
@RequestMapping(value = "/users", method = RequestMethod.POST)
public User createUserPostMethod(@RequestBody User user) {
@DeleteMapping
: @RequestMapping(method = RequestMethod.DELETE)
的一个快捷方式
@DeleteMapping("/users/{id}")
@RequestMapping(value = "/users/{id}", method = RequestMethod.DELETE)
public ResponseEntity<Void> deleteUser(@PathVariable Long id) {
@PutMapping
: @RequestMapping(method = RequestMethod.PUT)
的一个快捷方式
@PutMapping("/users/{id}")
@RequestMapping(value = "/users/{id}", method = RequestMethod.PUT)
public ResponseEntity<User> updateUser(@PathVariable Long id, @RequestBody User updatedUser) {
@GetMapping
是 @RequestMapping(method = RequestMethod.GET)
的一个快捷方式
@GetMapping("/users/{id}")
@RequestMapping(value = "/users/{id}", method = RequestMethod.GET)
public User getUser(@PathVariable Long id) {
参数相关
@PathVariabl
:取url地址中的参数。如:localhost:8333/api/book/1
中的 1
Further Reading : What is @PathVariable
does?
@RequestParam
:取url的查询参数值。如:localhost:8333/api/book?name=book1
中的 name=book1
Further Reading : What is @RequestParam
does?
@RequestBody
: 将 HttpRequest body中的JSON串反序列化为合适的Java类型
Further Reading : What is @RequestBody
does?
返回结果相关
@ResponseBody
:SpringMVC
框架中的一个注解,将方法返回值
转换为HTTP响应体内容
Further Reading : What is @ResponseBody
does?
@RestController
:将返回的数据直接转换为HTTP响应体
发送给客户端,而无需额外配置视图解析器
@RestController
= @Controller
+ @ResponseBody
Further Reading : What is @RestController
does?
What is @PostConstruct
does?
What is @ControllerAdvice
does?