快捷搜索: 王者荣耀 脱发

Spring Boot 常用注解总结

SpringBoot 常见的注解:包含springframework.web springframework.stereotype springframework.boot.autoconfigure 下一些常见的注解。

@SpringBootApllication :标识在springboot的启动类上,自动配置、组件扫描,并能够在“应用程序类”上定义额外的配置,但真正生效的其实是 @SpringBootApplication 内部配置的 @SpringBootConfiguration, @EnableAutoConfiguration, @ComponentScan这三个注解;
@SpringBootConfiguration:允许在上下文中注册额外的bean或导入其他配置类。和@Configuration功能相同
@EnableAutoConfiguration :试图根据添加的jar依赖关系自动配置Spring应用程序,会到classpath下读取META-INF/spring.factories文件的配置,并返回一个字符串数组。
@ComponentScan:告诉Spring 哪个packages 的用注解标识的类 会被spring自动扫描并且装入bean容器(这里的注解指的是@Component); 对应的包扫描路径 可以是单个路径,也可以是扫描的路径数组。excludeFilters是排除某些扫描到的类
@Configuration:允许在上下文中注册额外的bean或导入其他配置类
@Bean:定义一个bean对象,其中 value 属性会被注册为beanid; beanName 的生成策略:通过class完整的类路径取得类名,并将第一位转换为小写(如果类名的前两位都为大写则直接使用类名作为beanid),比如:com.pengq.UserService 则beanid 为 userService,com.pengq.MQManager 则为MQManager
@RestController:相当于@Controller和@ResponseBody联合使用。被视为控制器,并返回数据,而非页面。其中 value 属性会被注册为beanid;
@Controller:控制器,其中 value 属性会被注册为beanid;。
@Service:业务层,其中 value 属性会被注册为beanid;。
@Repository:数据层,其中 value 属性会被注册为beanid;。
@Autowired:自动装配;。当注入接口时,如果该接口有多个实现,可以在不同实现上指定不同bean的名字,配合@Qualifier(value = "your name"),效果和@Resource(name = "your name")一致; 代码试例:
@RequestMapping:@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
@GetMapping ,@PostMapping ,@PutMapping ,@DeleteMapping:别等同于@RequestMapping(method=RequestMethod.GET), @RequestMapping(method=RequestMethod.POST),@RequestMapping(method = RequestMethod.PUT), @RequestMapping(method = RequestMethod.DELETE),其余属性参见@RequestMapping
@PathVariable:当使用@RequestMapping URI template 样式映射时, 即 user/{userid}, 这时的userid可通过@Pathvariable 注解绑定它传过来的值到方法的参数上。 其中name为 {} 中的值。 代码试例:
@RequestBody:用来处理请求头Content-Type: 为 application/json编码的内容,明确的告诉服务器发送的内容是json。因为需要读取body中内容,所以只能接受post请求。 代码试例:
@RequestParam:用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容。提交方式为get或post。(Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型) 代码试例:
@RequestHeader:可以把Request请求header部分的值绑定到方法的参数上
@ControllerAdvice:控制增强 一般配合@ExceptionHandler 做为全局异常拦截使用 代码试例:
@RestControllerAdvice:控制增强 一般配合@ExceptionHandler 做为全局异常拦截使用 代码试例:
经验分享 程序员 微信小程序 职场和发展