Spring Boot常用注解介绍

1.        @SpringBootApplication:这是Spring Boot最核心的注解,用在Spring Boot的主类上,标识这是一个Spring Boot应用,用来开启Spring Boot的各项能力。实际上,这个注解是@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解的组合。

@SpringBootApplication注解的步骤:

  1. 首先,确保你的项目是一个Maven项目。在项目的pom.xml文件中添加Spring Boot的起步依赖:

2.在你的应用程序主类上添加@SpringBootApplication注解。这个注解是三个注解的组合:@Configuration、@EnableAutoConfiguration和@ComponentScan。


2.      @EnableAutoConfiguration:允许Spring Boot自动配置注解,开启这个注解之后,Spring Boot就能根据当前类路径下的包或者类来配置Spring Bean。例如,如果当前类路径下有Mybatis这个JAR包,MybatisAutoConfiguration注解就能根据相关参数来配置Mybatis的各个Spring Bean。  

@EnableAutoConfiguration是Spring Boot提供的一个注解,用于自动配置应用程序所需的配置。

一般情况下,只需要在Spring Boot主类上添加@EnableAutoConfiguration注解即可启用自动配置。例如:

@EnableAutoConfiguration注解会根据项目的依赖关系,自动加载并应用相应的配置类。这些配置类通常位于org.springframework.boot.autoconfigure包及其子包。

自动配置有助于简化Spring应用程序的开发,它会根据应用程序所引入的依赖,自动配置很多常见的功能,如数据库连接、Web MVC、安全性等。但请注意,有时候自动配置可能不符合您的实际需求,这时候可以手动进行配置覆盖或禁用自动配置。

总结起来,@EnableAutoConfiguration是Spring Boot的核心注解之一,使得开发者能够快速方便地使用Spring Boot进行应用程序开发。


3.       @RestController:这个注解是@Controller和@ResponseBody的合集,表示这是一个控制器Bean,并且将函数的返回值直接填入HTTP响应体中,是REST风格的控制器。

@RestController 是 Spring 框架中的一个注解,用于标识一个类是一个 RESTful 风格的控制器。使用 @RestController 注解的类将自动被 Spring 所管理,并且可以通过 HTTP 请求与客户端进行交互。

在使用 @RestController 注解之前,首先需要确保已经添加了相应的依赖,包括 spring-webmvc 和相关的其他组件,如 spring-boot-starter-web。

下面是使用 @RestController 的方法:

  1. 导入必要的依赖

  2. 创建一个类,并使用 @RestController 注解标识该类为一个控制器:

  3. 在上述示例中,我们创建了一个名为 MyController 的类,并使用了 @RestController@RequestMapping 注解来指定该类的 URL 路径为 /api。同时,我们定义了一个 Get 请求的处理方法 sayHello() 用于处理路径为 /api/hello 的请求,当有请求发送到该路径时,将返回 "Hello, World!" 字符串。

  1. 在上述示例中,我们创建了一个名为 MyApplication 的类,并使用了 @SpringBootApplication 注解标识该类是一个 Spring Boot 应用程序的入口点。

  2. 运行应用程序: 编译并运行该应用程序后,启动内嵌的 Tomcat 服务器。你可以通过访问 http://localhost:8080/api/hello 来验证控制器的运行情况。成功访问时,会在浏览器中显示 "Hello, World!"。

总结起来,使用 @RestController 的步骤包括导入必要的依赖、创建带有 @RestController 注解的类、编写处理 HTTP 请求的方法,并配置和运行 Spring Boot 应用程序。


4     @Autowired:自动导入注解,用于自动装配Spring Bean。通过这个注解,Spring Boot能够自动将依赖的Bean注入到需要的地方。

@Autowired 是 Spring 框架中的注解,用于自动装配依赖对象。使用 @Autowired 注解可以告诉 Spring 框架,根据类型或名称自动注入相应的依赖对象。

在使用 @Autowired 注解时,有以下几种方式:

1. 根据类型注入:使用 @Autowired 注解时,Spring 会根据被注入的类型在容器中查找对应的对象,并将其注入到目标对象中。

```java
@Autowired
private SomeService someService;
```

2. 根据名称注入:如果有多个实现类满足相同的类型注入条件,可以通过指定名称来明确要注入哪一个实现类。

```java
@Autowired
@Qualifier("someServiceImpl2")
private SomeService someService;
```

3. 构造函数注入:使用 @Autowired 注解可以在构造函数上进行注入,从而创建对象时就直接完成依赖注入。

```java
@Autowired
public SomeController(SomeService someService) {
    this.someService = someService;
}
```

需要注意的是,为了使 @Autowired 注解生效,还需要在 Spring 配置文件中开启自动扫描组件的功能,并确保相关的 bean 已经正确声明和初始化。

另外,@Autowired 注解也可以与其他注解一起使用,如 @Transactional、@Valid 等,以实现更多的功能。在使用时,可以根据具体的需求选择适合的注解组合。


5      
@PathVariable:用于获取URL路径中的参数值,并将其绑定到方法的参数上。

@PathVariable是Spring MVC框架中的一个注解,用于从URL中获取路径变量的值。

在方法参数上使用@PathVariable注解可以将URL中的部分作为方法参数进行处理。

下面是一个使用@PathVariable的示例:

```java
@Controller
@RequestMapping("/users")
public class UserController {

    @GetMapping("/{id}")
    public String getUser(@PathVariable Long id, Model model) {
        // 根据id获取用户信息
        User user = userService.getUserById(id);
        // 将用户信息加入model中
        model.addAttribute("user", user);
        // 返回视图名
        return "user";
    }

}
```

上述代码中,`@GetMapping("/{id}")`指定了URL模板,其中`{id}`表示路径变量。在`getUser`方法的参数上,使用了`@PathVariable`注解,将URL中的`id`部分作为方法参数`Long id`进行处理。然后根据id获取用户信息,将用户信息加入model中,并返回视图名"user"。

这样,当访问`/users/123`时,就会调用`getUser`方法,并将路径中的`123`作为方法参数的值传入。


6.      @ComponentScan:该注解用于组件扫描,自动扫描包路径下的类,并将它们注册为Spring Bean。


7.        @Service:该注解用于标注业务逻辑服务类。当使用@Service注解时, Spring会自动扫描并注册这些类作为Bean,


8.        @Autowired:该注解用于进行自动注入。它可以根据类型、名称、作用域等属性自动注入所需的依赖项。


9.     @Repository:该注解用于标注数据访问组件,DAO组件的。它告诉Spring将这些类作为数据访问对象进行特殊处


 这些注解只是Spring Boot中的一部分常用注解,


还有其他许多注解可以用于不同的场景和目的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值