使用Spring 框架的 Java 开发人员注解备忘单

这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战git

最近收集了开发人员使用的有用的注解,并将它们打包到这篇 Spring 注解备忘单中。从启动项目所需的基本注解,到服务发现注解,我已经为您提供了帮助。github

重要的 Spring 注解

如下是任何使用 Spring 的 Java 开发人员都应该知道的最重要的注解:spring

  • @Configuration  - 用于将类标记为 bean 定义的来源。Bean 是您想要链接在一块儿的系统组件。用@Bean 批注标记的方法是 bean 生产者。Spring 将为您处理 bean 的生命周期,而且它将使用这些方法来建立 bean。
  • @ComponentScan - 用于确保 Spring 知道您的配置类而且能够正确初始化 bean。它使 Spring 扫描为 @Configuration 类配置的包。
  • @Import -  若是您须要更精确地控制配置类,您始终可使用 @import 加载其余配置。即便您像 1999 年那样在 XML 文件中指定 bean,此方法也能正常工做。
  • @Component  - 另外一种声明 bean 的方法是用 @Component 注解标记一个类。这样作会在自动扫描时将类转换为 Spring bean。
  • **@Service -**标记 @Component 的特化。它告诉 Spring 比常规组件更自由地管理它们是安全的。请记住,服务没有封装状态。
  • @Autowired - 要将应用程序部分链接在一块儿,请在组件中的字段、构造函数或方法上使用 @Autowired。Spring 的依赖注入机制将适当的 bean 链接到用 @Autowired 标记的类成员中。
  • @Bean - 一个方法级别的注解,用于指定由 Spring 上下文管理的返回 bean。返回的 bean 与工厂方法具备相同的名称。
  • @Lookup - 告诉 Spring 在咱们调用它时返回该方法的返回类型的实例。
  • @Primary - 当有多个相同类型的 bean 时,优先考虑一个 bean。
  • @Required - 代表必须将 setter 方法配置为在配置时使用值进行依赖注入。在 setter 方法上使用 @Required 来标记经过 XML 填充的依赖项。不然,抛出 BeanInitializationException。
  • @Value - 用于将值分配给 Spring 管理的 bean 中的字段。它与构造函数、setter 和字段注入兼容。
  • @Lazy - 使 bean 延迟初始化。@Lazy 注解可用于任何直接或间接用@Component 注解的类或用@Bean 注解的方法。
  • @Scope - 用于定义 @Component 类或 @Bean 定义的范围,能够是单例、原型、请求、会话、全局会话或自定义范围。
  • @Profile - 仅当该配置文件处于活动状态时才向应用程序添加 bean。

有了这些注解,您能够轻松地将应用程序组合在一块儿。固然,您可能想要使用更多的 Spring 注解,但这些是框架的核心,它实现了 Spring 众所周知的灵活性!后端

重要的 Spring Boot 注解

让咱们看一下 Web 应用程序中一些最经常使用的注解。普及使 Web 开发更容易的 Spring Framework 注解是有意义的。安全

@SpringBootApplication

最基本和最有用的注解之一是 @SpringBootApplication。它是组合其余注解的语法糖,咱们稍后将介绍。@SpringBootApplication 是 @Configuration@EnableAutoConfiguration@ComponentScan注解的组合,配置了它们的默认属性。markdown

@Configuration 和 @ComponentScan

咱们上面描述的@Configuration 和@ComponentScan 注解使Spring 建立和配置应用程序的bean 和组件。这是将实际业务逻辑代码与将应用程序链接在一块儿的好方法。app

@EnableAutoConfiguration

如今 @EnableAutoConfiguration注解更好。它让 Spring 根据类路径上可用的 JAR 文件猜想配置。它能够找出您使用的库并预先配置它们的组件,而无需您动动手指。这就是全部 spring-boot-starter 库的工做方式。这意味着当您刚开始使用库时以及当您知道并相信默认配置是合理的时,它都是一个主要的救星。框架

重要的 Spring MVC Web 注解

如下注解使 Spring 将您的应用程序配置为可以提供 HTTP 响应的 Web 应用程序。svn

  • @Controller - 将该类标记为 Web 控制器,可以处理 HTTP 请求。Spring会查看用@Controller注解标记的类的方法,并创建路由表来知道哪些方法服务于哪些端点。
  • @ResponseBody - @ResponseBody 是一个实用程序注解,它使 Spring 将方法的返回值绑定到 HTTP 响应正文。在构建 JSON 端点时,这是一种神奇的方式,能够将您的对象神奇地转换为 JSON 以便于使用。
  • @RestController - 而后是@RestController 注解,这是@Controller 和@ResponseBody 一块儿使用的便捷语法。这意味着标记类中的全部操做方法都将返回 JSON 响应。
  • @RequestMapping(method = RequestMethod.GET, value = "/path") - @RequestMapping(method = RequestMethod.GET, value = "/path") 注解指定控制器中的一个方法,该方法应该负责为 HTTP 请求提供服务到给定的路径。Spring 将处理它如何完成的实现细节。您只需在注解上指定路径值,Spring 就会将请求路由到正确的操做方法中。
  • @RequestParam(value="name", defaultValue="World") - 固然,处理请求的方法可能须要参数。为了帮助您将 HTTP 参数绑定到操做方法参数中,您可使用 @RequestParam(value="name", defaultValue="World") 注解。Spring 将解析请求参数并将适当的参数放入您的方法参数中。
  • @PathVariable("placeholderName") - 另外一种向后端提供信息的经常使用方法是在 URL 中对其进行编码。而后,您可使用 @PathVariable("placeholderName") 注解将 URL 中的值带到方法参数中。

最后想说的

在这篇文章中,咱们知道了 Java 开发人员在使用 Spring 框架时应该知道的许多注解。咱们已经介绍了最经常使用也多是最重要的注解——从为组件启用依赖注入的注解到绑定代码以响应 HTTP 请求的方法。函数

我已经写了很长一段时间的技术博客,这是个人一篇技术文章/教程。但愿大家会喜欢!这里汇总了个人所有原创及做品源码:GitHub,还有这是我最近刚搭建的博客:haiyong.site,里面还没啥内容,放了一些HTML小游戏,有兴趣的能够尝试一下,源码能够本身F12复制,或者直接找我要。

若是你真的从这篇文章中学到了一些新东西,喜欢它,收藏它并与你的小伙伴分享。🤗最后,不要忘了❤或📑支持一下哦。

相关文章
相关标签/搜索