SpringBoot注释
Spring Boot注释是元数据的一种形式,它提供有关程序的数据。换句话说,注释用于提供有关程序的补充信息。它不是无涯教程开发的应用程序的一部分。它对其注释的代码的操作没有直接影响。它不会更改已编译程序的操作。
在本节中,将讨论一些重要的 Spring Boot注释,将在本教程的后面部分使用它们。
框架注释
@Required- 它适用于 bean 设置方法。它指示必须在配置时使用必需的属性填充带注释的Bean,否则它将引发异常 BeanInitilizationException
public class Machine { private Integer cost; @Required public void setCost(Integer cost) { this.cost = cost; } public Integer getCost() { return cost; } }
@Autowired - Spring通过提供@Autowired注释来提供基于注释的自动装配。它用于自动连接setter方法,实例变量和构造函数上的spring bean。当使用@Autowired注释时,spring集合通过匹配data-type自动连接bean。
@Component public class Customer { private Person person; @Autowired public Customer(Person person) { this.person=person; } }
@Configuration- 它是一个类级别的注释。由Spring集合使用@Configuration注释的类用作Bean定义的源。
@Configuration public class Vehicle { @BeanVehicle engine() { return new Vehicle(); } }
@ComponentScan- 当要扫描软件包中的bean时使用。它与注释@Configuration一起使用。无涯教程还可以指定要扫描Spring组件的基本软件包。
@ComponentScan(basePackages = "com.learnfk") @Configuration public class ScanComponent { //... }
@Bean - 它是方法级别的注释。它是XML <bean>标记的替代方法。它告诉方法产生一个由Spring Container管理的bean。
@Bean public BeanExample beanExample() { return new BeanExample (); }
构造型注释
@Component - 它是一个类级别的注释。它用于将Java类标记为Bean。在类路径中发现了一个用 @Component 注释的Java类。 Spring框架将其拾取并在应用程序上下文中将其配置为 Spring Bean 。
@Component public class Student { ....... }
@Controller - @Controller是类级别的注释。它是 @Component 的一种特殊形式。它将一个类标记为Web请求处理程序。它通常用于提供网页。默认情况下,它返回一个字符串,该字符串指示要重定向的路由。它通常与 @RequestMapping 注释一起使用。
@Controller @RequestMapping("books") public class BooksController { @RequestMapping(value = "/{name}", method = RequestMethod.GET) public Employee getBooksByName() { return booksTemplate; } }
@Service - 也用于类。它告诉Spring该类包含业务逻辑。
package com.learnfk; @Service public class TestService { public void service1() { //business code } }
@Repository - 这是一个类级注释。该存储库是直接访问数据库的 DAO (数据访问对象)。存储库执行与数据库有关的所有操作。
package com.learnfk; @Repository public class TestRepository { public void delete() { //persistence code } }
Spring Boot注释
- @EnableAutoConfiguration - 它会自动配置类路径中存在的bean,并将其配置为运行方法。在Spring Boot 1.2.0发行版中减少了使用此批注,因为开发人员提供了该批注的替代方法,即 @SpringBootApplication 。
- @SpringBootApplication - 它是三个注释 @EnableAutoConfiguration,@ComponentScan,和 @Configuration 的组合。
Spring MVC和REST批注
- @RequestMapping - 用于映射网络请求。它具有许多可选元素,例如consumes,header,method,name,params,path,produces和value。将其与类以及方法一起使用。
@Controller public class BooksController { @RequestMapping("/computer-science/books") public String getAllBooks(Model model) { return "bookList"; } }
- @GetMapping - 它将 HTTP GET 请求映射到特定的处理程序方法。替代 @RequestMapping(method = RequestMethod.GET)
- @PostMapping - 它将 HTTP POST 请求映射到特定的处理程序方法。替代 @RequestMapping(method = RequestMethod.POST)
- @PutMapping - 它将 HTTP PUT 请求映射到特定的处理程序方法。替代 @RequestMapping(method = RequestMethod.PUT)
- @DeleteMapping - 它将 HTTP DELETE 请求映射到特定处理程序方法。替代 @RequestMapping(method = RequestMethod.DELETE)
- @PatchMapping - 它将 HTTP PATCH 请求映射到特定的处理程序方法。替代 @RequestMapping(method = RequestMethod.PATCH)
- @RequestBody - 它用于绑定 HTTP请求与方法参数中的对象。用 @RequestBody注释方法将传入的HTTP请求主体绑定到该参数。
- @ResponseBody - 它将方法返回值绑定到响应主体。它告诉Spring Boot Framework将返回的对象序列化为JSON和XML格式。
- @PathVariable - 用于从URI中提取值。它最适合RESTful Web服务,其中URL包含路径变量。可以在一个方法中定义多个@PathVariable。
- @RequestParam - 用于从URL提取查询参数。也称为查询参数。它最适用于Web应用程序。如果URL中不存在查询参数,可以指定默认值。
- @RequestHeader - 用于获取有关HTTP请求标头的详细信息。
- @RestController - 可以将其视为 @Controller 和 @ResponseBody annotations @RestController注释本身带有@ResponseBody注释。
- @RequestAttribute - 它将方法参数绑定到请求属性。它提供了从控制器方法方便地访问请求属性的方法。借助@RequestAttribute批注,无涯教程可以访问服务器端填充的对象。
祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)
精选教程推荐
👇 以下精选教程可能对您有帮助,拓展您的技术视野
暂无学习笔记,成为第一个分享的人吧!
您的笔记将帮助成千上万的学习者