你必须知道的 10 个基本的 Spring-Boot 注解

110 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 29 天,点击查看活动详情

1. @ SpringBootApplication

我们在应用程序的主类中使用此注释来启用自动配置和组件扫描等 Spring Boot 功能。

SpringBootApplication 注解服务于以下注解组合的目的。

@Enable Autoconfiguration — 启用 Spring Boot 的自动配置功能。

@ComponentScan — 启用组件扫描。

@ 配置 — 启用基于 Java 的配置。

import org.springframework.boot.SpringApplication;  
import org.springframework.boot.autoconfigure.SpringBootApplication;  
  
@SpringBootApplication  
public class MyApplication {  
  
public static void main(String[] args) {  
    SpringApplication.run(MyApplication.class, args);  
}  
  
}

2.  @ Component

我们在类级别使用这个注解,用@Component注解的类将被扫描为spring-managed beans,我们不需要编写显式代码来扫描我们创建的自定义bean。

Spring 还提供了 3 个特定的 Stereotype 注释,用于使类成为组件——服务、控制器和存储库(在本节中进一步讨论)

例子

import org.springframework.stereotype.Component;  
  
  
@Component  
public class HelloWorld {  
    //Logic  
}

3. @ Service

这是将类注释为服务层,这只是意味着该类将持有应用程序的业务逻辑,并且此注释没有其他用途。

@Service  
public class HelloWorld {  
    //Business Logic  
}

4. @ Repository

它与处理应用程序的 DAO(数据访问对象)层的类一起使用,或者与处理数据库 CRUD 操作的存储库类一起使用

@Repository
public class HelloWorld {
    //Database Crud Operations
}

5. @ Controller

用@Controller 注释的类将处理所有用户请求并返回适当的响应。此注解用于 Restful Web 服务来处理请求和响应。

6. @ RequestMapping

此注释与 @Controller 注释一起使用以将 HTTP 请求映射到适当的处理程序方法。这可以在类级别或方法级别使用。

@Controller 、@RequestMapping 的例子

import org.springframework.stereotype.Controller;  
import org.springframework.web.bind.annotation.RequestMapping;  
  
  
@Controller  
@RequestMapping("/hello")  
public class HelloWorld {  
    //Http Methods  
}

7. @ Autowired

Autowired 自动注入对 spring 管理的组件的依赖,简单来说就是为你初始化对象。

我们可以使用@Autowired注解的有3种类型,这需要另外一篇文章来详细解释。:)

@Controller  
@RequestMapping("/hello")  
public class HelloWorld {  
@Autowired  
HelloService helloService;  
    //Http Methods  
}

8.@ Qualifier

当 spring 发现多个相同类型的 bean 时,在管理依赖注入时可能存在歧义,使用 @Qualifier 注解我们可以指定我们要注入的 bean 的名称

@Controller  
@RequestMapping("/hello")  
public class HelloWorld {  
  
@Autowired  
@Qualifier("helloServiceBean")  
HelloService helloService;  
    //Http Methods  
}

9.@ Bean

这是方法级别的注释,用于返回要在 spring 上下文中管理的 bean 的方法。它通常用于配置类。

10 @ Configuration

一个用@Configuration注解的类,表示该类将被用来声明多个返回spring beans的方法

@Configuration 和@Bean 注解示例

import org.springframework.context.annotation.Bean;  
import org.springframework.context.annotation.Configuration;  
  
  
@Configuration  
public class HelloWorld {  
  
@Bean  
public HelloClass collegeBean()  
    {  
        return new HelloClass();  
    }  
}

这些也是面试中问得最多的注解,spring 应用程序将主要使用这些注解,因此了解其用途及其在应用程序中的使用方式非常重要。