springboot常用注解

    技术2025-10-17  14

    1.@RestController 相当@Controller+@ResponseBody @RestController只返回对象,对象数据直接以 JSON 或 XML 形式写入 HTTP 响应(Response)中,这种情况属于 RESTful Web服务,这也是目前日常开发所接触的最常用的情况(前后端分离) 2.@Autowired @Component :通用的注解,可标注任意类为 Spring 组件。如果一个 Bean 不知道属于哪个层,可以使用 @Component 注解标注。 @Repository : 对应持久层即 Dao 层,主要用于数据库相关操作。 @Service : 对应服务层,主要涉及一些复杂的逻辑,需要用到 Dao 层。 @Controller : 对应 Spring MVC 控制层,主要用户接受用户请求并调用 Service 层返回数据给前端页面。 3.5 种常见的请求类型: GET :请求从服务器获取特定资源。举个例子:GET /users(获取所有学生) POST :在服务器上创建一个新的资源。举个例子:POST /users(创建学生) PUT :更新服务器上的资源(客户端提供更新后的整个资源)。举个例子:PUT /users/12(更新编号为 12 的学生) DELETE :从服务器删除特定的资源。举个例子:DELETE /users/12(删除编号为 12 的学生) PATCH :更新服务器上的资源(客户端提供更改的属性,可以看做作是部分更新),使用的比较少,这里就不举例子了。 @GetMapping("users") 等价于@RequestMapping(value="/users",method=RequestMethod.GET) @PostMapping("users") 等价于@RequestMapping(value="/users",method=RequestMethod.POST) @PutMapping("/users/{userId}") 等价于@RequestMapping(value="/users/{userId}", method=RequestMethod.PUT) 4.@PathVariable用于获取路径参数,@RequestParam用于获取查询参数。 @RequestBody 用于读取 Request 请求(可能是 POST,PUT,DELETE,GET 请求)的 body 部分并且Content-Type 为 application/json 格式的数据,接收到数据之后会自动将数据绑定到 Java 对象上去。系统会使用HttpMessageConverter 或者自定义的HttpMessageConverter将请求的 body 中的 json 字符串转换为 java 对象。 5.@SpringBootApplication @EnableAutoConfiguration:启用 SpringBoot 的自动配置机制 @ComponentScan: 扫描被@Component (@Service,@Controller)注解的 bean,注解默认会扫描该类所在 的包下所有的类。 @Configuration:允许在 Spring 上下文中注册额外的 bean 或导入其他配置类 6.@Scope 四种常见的 Spring Bean 的作用域: singleton : 唯一 bean 实例,Spring 中的 bean 默认都是单例的。 prototype : 每次请求都会创建一个新的 bean 实例。 request : 每一次 HTTP 请求都会产生一个新的 bean,该 bean 仅在当前 HTTP request 内有效。 session : 每一次 HTTP 请求都会产生一个新的 bean,该 bean 仅在当前 HTTP session 内有效。 @Configuration @Value("${property}") @ConfigurationProperties读取配置信息并与 bean 绑定 在实体类加验证注解@NotNull@Email 在controller传进来需要验证的参数上加上了@Valid注解,如果验证失败,它将抛出 MethodArgumentNotValidException。 全局处理 Controller 层异常 @ControllerAdvice :注解定义全局异常处理类 @ExceptionHandler :注解声明异常处理方法 @Transactional 注解一般用在可以作用在类或者方法上。 作用于类:当把@Transactional 注解放在类上时,表示所有该类的public 方法都配置相同的事务属性信息。 作用于方法:当类配置了@Transactional,方法也配置了@Transactional,方法的事务会覆盖类的事务配置信息。
    Processed: 0.009, SQL: 9