Spring boot常用注解详情与使用方法演示

Spring Boot是一个基于Spring框架的开发框架,它提供了一种简化的方式来配置和部署Spring应用程序。Spring Boot使用注解来简化配置和开发过程,以下是所有常用的注解及其使用方法演示:

1. @SpringBootApplication:

@SpringBootApplication 是一个注解,它被用于 Spring Boot 应用程序的主类上。它组合了多个注解,包括:

  • @Configuration:表明该类是 Spring 应用程序上下文的配置类。
  • @EnableAutoConfiguration:自动配置 Spring Boot 应用程序的配置。
  • @ComponentScan:扫描当前包及其子包下所有的 Spring 组件。


@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

 使用 @SpringBootApplication 注解的主要目的是简化 Spring Boot 应用程序的配置。通过使用该注解,开发人员不需要在主类上使用多个注解,而是只需要使用一个注解即可实现应用程序的配置和启动。

2. @Configuration:这个注解用于标记一个类,它表示这个类是一个配置类,它会被Spring容器扫描并加载。可以在其中定义Bean和配置信息。


@Configuration
public class AppConfig {
    // 配置Bean
    @Bean
    public UserService userService() {
        return new UserServiceImpl();
    }
}
 

总之 @Configuration注解的作用是在spring中定义配置类用于管理Bean的创建和配置

3. @EnableAutoConfiguration:这个注解用于自动配置Spring应用程序。它会根据应用程序的依赖关系和配置文件来自动配置应用程序。


@EnableAutoConfiguration
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
 

4. @ComponentScan:@ComponentScan(param)告诉Spring 哪个packages 的用注解标识的类 会被spring自动扫描并且装入bean容器,param即用来指定扫描包的范围。


@ComponentScan(basePackages = "com.example")
public class AppConfig {
    // 配置Bean
}
 

 此注解一般和@Configuration注解一起使用,指定Spring扫描注解的package。如果没有指定包,那么默认会扫描此配置类所在的package。

5. @RestControll

首先他是一个类似于@controller和@Service的构造型注解,能够让类被组件扫描功能发现。但是,与REST最相关在于@RestController会告诉Spring,控制器中所有的处理器方法的返回值都要直接写入响应体中,而不是将值放到模型中并传递给一个视图以便于渲染。


@RestController
public class UserController {
    @GetMapping("/users/{id}")
    public User getUser(@PathVariable Long id) {
        // 获取用户信息
        return userService.getUserById(id);
    }
}
 

作为替代方案就是@Controller加上@Response。 

6. @RequestMapping:它的作用是将HTTP请求映射到Controller中的处理方法上。 它可用于类、方法及方法参数上,用于定义请求的URL和HTTP请求方法 (GET、POST等),从而实现请求的分发处理。 通过这个注解,我们可以更方便地管理我们的请求映射,并且可以提高代码的可读性和可维护性。


@RestController
@RequestMapping("/users")
public class UserController {
    @GetMapping("/{id}")
    public User getUser(@PathVariable Long id) {
        // 获取用户信息
        return userService.getUserById(id);
    }
}
 

7. @Autowired:注解是Spring框架的一部分,用于自动装配(自动注入)Spring Bean到其他Bean中。 它的主要作用是帮助我们消除手动配置Bean依赖关系的繁琐工作,使代码更加简洁和可维护。


@RestController
public class UserController {
    private final UserService userService;

    @Autowired
    public UserController(UserService userService) {
        this.userService = userService;
    }
}
 

8. @Value:

  1. @Value(“#{}”) 表示SpEl表达式通常用来获取bean的属性,或者调用bean的某个方法。当然还有可以表示常量

  2. 用 @Value(“${app.name}”)注解从配置文件读取值的用法 


@Component
public class AppConfig {
    @Value("${app.name}")
    private String name;

    // getters and setters
}
 

9. @ConfigurationProperties:这个注解用于将配置文件中的属性绑定到一个JavaBean中。可以通过@ConfigurationProperties注解来指定属性的前缀和属性名。


@ConfigurationProperties(prefix = "app")
public class AppConfig {
    private String name;
    private String version;
    // getters and setters
}
 

10. @Bean:Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。


@Configuration
public class AppConfig {
    // 配置Bean
    @Bean
    public UserService userService() {
        return new UserServiceImpl();
    }
}
 

以上是常用的Spring Boot注解及其使用方法的演示。通过使用这些注解,可以简化配置和开发过程,提高开发效率。

  • 22
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值