Spring Boot 常用注解(详解,附代码说明)

Spring Boot 常用注解
  • @Configuration:标识一个类为配置类,通常配合@Bean、@ComponentScan等注解一起使用

  • @Bean:标注在方法上,将方法返回的对象注入IOC容器

  • @Component:标注在类上,标注的类将会被注入IOC容器

  • @ComponentScan:自动扫描组件,默认扫描该类所在包及其子包下所有带有指定注解的类,将它们自动装配到bean容器中,会被自动装配的注解包括@Controller、@Service、@Component、@Repository等。也可以指定扫描路径

  • @Scope:通常与@Bean注解一起使用,标识放入ioc容器中的对象是单例还是多例

  • @Import: 三种用法:

    • @Import一个普通类 spring会将该类加载到spring容器中
    • @Import一个类,该类实现了ImportBeanDefinitionRegistrar接口,在重写的registerBeanDefinitions方法里面,能拿到BeanDefinitionRegistry bd的注册器,能手工往beanDefinitionMap中注册 beanDefinition
    • @Import一个类 该类实现了ImportSelector 重写selectImports方法该方法返回了String[]数组的对象,数组里面的类都会注入到spring容器当中
  • @ConfigurationProperties:用来将properties和yml配置文件属性转化为bean对象使用,如下示例(个人理解:标注这个注解的类可以理解为就是一个属性类,也就是说这个类用于接收yml文件中配置的属性信息)

    @Component	//如果没有加Component注解,在别的地方也没有加EnableConfigurationProperties(DataSourceProperties2.class)注解,那么这个这个类就不会被加入到容器中
    //会将在yml配置文件中以spring.jdbc.datasource为前缀的,和这个类属性相匹配的属性注入值
    @ConfigurationProperties(prefix = "spring.jdbc.datasource")
    public class DataSourceProperties2 {
    
        private String driverClassName;
        private String url;
        private String username;
        private String password;
        
         // 省略getter和setter.....
    }  
    
  • @EnableConfigurationProperties:让使用了 @ConfigurationProperties 注解的配置类生效,将该类注入到 IOC 容器中,交由 IOC 容器进行管理,此时则不用再配置类上加上@Component,具体解释可以看上面的代码块

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot 是现代化的Java应用程序开发框架,其核心是注解。下面就是 Spring Boot 最核心的27个注解的详细解释: 1. @SpringBootApplication: 组合注解,包含了 @Configuration、@EnableAutoConfiguration 和 @ComponentScan。它标注一个主程序类,表示这是一个 Spring Boot 应用。 2. @RestController: 标注一个类,表示这个类是一个控制器,同时也会返回 Json 格式的数据。 3. @RequestMapping: 定义一个HTTP请求映射到控制器方法它可以有多个属性,包括路径、HTTP请求类型、请求头、参数等。 4. @GetMapping: 等同于@RequestMapping(method = RequestMethod.GET) 5. @PostMapping: 等同于@RequestMapping(method = RequestMethod.POST) 6. @PutMapping: 等同于@RequestMapping(method = RequestMethod.PUT) 7. @DeleteMapping: 等同于@RequestMapping(method = RequestMethod.DELETE) 8. @PathVariable: 映射 URL 请求路径中的占位符到方法参数中,可以在 URL 中使用 {variable} 格式来定义一个占位符。 9. @RequestParam: 映射请求参数到方法参数中。 10. @RequestBody: 请求头对象数据类型转换。 11. @RestControllerAdvice: 全局异常捕获处理。 12. @Validated: 验证请求参数的合法性。 13. @JsonFormat: 格式化输出的 Json 日期。 14. @JsonIgnore: 序列化时忽略某字段。 15. @JsonProperty: 反序列化时取指定的字段。 16. @Configuration: 声明一个类作为Java配置文件。 17. @ComponentScan: 自动扫描指定包下的所有 Spring 组件。 18. @ImportResource: 加载 xml 配置文件。 19. @Bean: 声明一个方法为 Bean,可供程序使用。 20. @Qualifier: 指定自动装配候选者的限定符。 21. @Autowired: 自动装配 Bean。 22. @Resource: 自动装配 Bean。 23. @Value: 注入配置文件中的属性。 24. @ConditionalOnMissingBean: 当容器中没有指定Bean时才会将其实例化。 25. @EnableConfigurationProperties: 开启配置文件注入功能。 26. @ConfigurationProperties: 把配置文件中的属性值注入到Bean中。 27. @EnableAsync: 开启异步任务支持。 以上就是 Spring Boot 最核心的27个注解,熟练掌握这些注解,将有助于编写完整的 Web 应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值