@Component:通用的组件注解,标识一个类为 Spring 组件,会被自动扫描并创建 Bean。(工具类)
@Repository:表示持久层的注解,用于标识数据访问组件。(和数据交互)
@Service:表示服务层的注解,用于标识业务逻辑组件。(客服中心)
@Controller:表示控制器层的注解,用于标识 Web 控制器组件。验证用户请求数据的正确性(安保系统)
@Configuration:表示配置类的注解,用于定义配置类,替代 XML 配置文件。
@RequestMapping
是SpringWebMVC应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的路由映射的.
含义:映射HTTP请求的URL到一个具体的处理方法。
可以用于类级别和方法级别。类级别的注解可以定义通用的请求映射前缀。
路由映射:当⽤⼾访问⼀个URL时,将⽤⼾的请求对应到程序中某个类的某个⽅法的过程就叫路由映射.
java
@Controller
@RequestMapping("/example")
public class MyController {
@RequestMapping("/hello")
public String hello() {
return "hello";
}
}
@GetMapping、@PostMapping(@RequestMapping(value="/xxx",method="RequestMethod.POST) 、@PutMapping、@DeleteMapping:分别用于处理 GET、POST、PUT、DELETE 请求,简化 @RequestMapping 的使用。
@RequestParam
含义:用于从请求中获取参数值,映射到方法的参数上。
用法:在方法参数前使用,可以指定参数名、是否必需等属性。
1.使⽤ @RequestParam 进⾏参数重命名时,请求参数只能和 @RequestParam 声明的名称⼀致,才能进⾏参数绑定和赋值.
- 使⽤ @RequestParam 进⾏参数重命名时,参数就变成了必传参数.
@ResponseBody
-
含义:指示方法返回的对象应该直接写入HTTP响应体中,而不是视图渲染。
-
用法:通常用于返回JSON或XML格式的数据。
java@RequestMapping("/data") @ResponseBody public Map<String, Object> getData() { Map<String, Object> data = new HashMap<>(); data.put("key", "value"); return data; }
@PathVariable
主要作⽤在请求URL路径上的数据绑定
- 含义:用于将请求URL中的占位符参数绑定到处理器方法中的参数上。
@RequestPart
上传⽂件
java
@RequestMapping("/m9")
public String getfile(@RequestPart("file") MultipartFile file) throws IOException {
//获取⽂件名称
String fileName = file.getOriginalFilename();
//⽂件上传到指定路径
file.transferTo(new File("D:/temp/" + file.getOriginalFilename()));
return "接收到⽂件名称为: "+fileName;
}
@SessionAttribute
-
含义:用于将模型中的属性存储到会话中,以便多个请求之间共享相同的模型属性。
-
用法:只能用于类上,无法用于方法上。可以指定要存储的属性名称或类型。
@RequestHeader
提供了一种方便的方式来获取并绑定 HTTP 请求头信息到方法参数上.