@SpringBootApplication
组合注解,包含了 @Configuration
、@EnableAutoConfiguration
和 @ComponentScan
。
使用:
通常标注在主应用类上,用于启动 Spring Boot 应用。
@RestController
用于标注一个控制器类,表明该类中的方法返回的结果会直接作为响应体返回,通常用于构建 RESTful 风格的 Web 服务。
@Controller
@RequestMapping
- 用于映射 HTTP 请求到相应的处理方法。
RequestMapping是一个用来处理请求地址映射的注解,可用于类或者方法上。注解在方法上,Controller上不加,此时的请求URL是相对于根目录的。注解在Controller上,这是类的注解是相对根目录的,而方法的注解是相对类路径的。
属性:
method:定义接收浏览器发了哪种请求。method方法返回的是RequestMethod数组,所以method可以通知指定多种请求方式。
value:指定请求的实际地址
params:请求参数,追加在URL上的键值对,可以用来限制请求参数进行请求的过滤。
@GetMapping
、@PostMapping
、@PutMapping
、@DeleteMapping
是 @RequestMapping
的细化注解,分别对应 HTTP 的 GET、POST、PUT、DELETE 方法。
@Autowired
用于自动装配依赖的对象。
@ResponseBody
将Java对象转为Json格式的数据。将Controller的方法返回对象通过适当的转换器转换为指定的格式之后写入到response对象的body区,通常返回Json数据或者XML数据。
(*注)使用该注解之后就不走视图处理器了,返回结果不会被解析为跳转路径,是直接将数据写入输入流中,等同于通过response对象输出指定格式的数据。比如异步获取Json数据,加上@ResponseBody注解后会直接返回Json数据。@ResponseBody将HTTP请求请求正文插入方法中,使用合适的HTTPMessageConverter将请求体写入某个对象。
用法:
作用在方法上,表示该方法的返回结果直接写进HTTP的response body中,一般在异步获取数据时使用。当方法上没有写@ResponseBody时,底层就会将方法的返回值封装为ModelAndView对象。
应用场景:
- GET、POST方法提交时,根据request header Content-Type的值进行判断。
- PUT方式提交时,根据request header Content-Type的值进行判断。
request body部分的数据编码格式由header部分的Content-Type来指定的。这是一个接口,由它的实现类完成转换。如果是Bean对象就会调用该对象的getXXX()方法获取属性值,然后以键值对的形式进行封装转化为Json。如果是Map集合,采用get(key)方法获取到value的值,进行封装。
@CrossOrgin
解决跨域问题,在需要跨域访问的方法或者类上添加该注解。
应用场景:
针对细粒度的跨域控制,例如一个Controller类中的methodA支持域名originA跨域访问,methodB支持originB跨域访问。
@Service
标注服务层的组件。
@Repository
标注数据访问层(DAO)的组件。
@Component
通用的组件标注,当一个类不属于明确的层次(如控制器、服务、数据访问层)时可以使用。
@Value
用于注入配置属性的值。
@EnableScheduling
开启定时任务功能。
@Scheduled
用于标注定时任务的方法。
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » Spring Boot注解总结
发表评论 取消回复