SpringBoot

SpringBoot的核心注解如@SpringBootApplication、@RestController等在应用程序中的作用,以及自动配置的工作流程,包括读取配置、条件装配等。@ConfigurationProperties和@Value的区别在于,前者用于绑定配置文件的复杂数据,后者则用于注入单一属性值。
摘要由CSDN通过智能技术生成

目录

SpringBoot核心注解?

 什么是自动配置,自动配置的过程?

@ConfigurationProperties和@Value注解的作用和区别?


SpringBoot核心注解?

  • @SpringBootApplication:这个注解是一个组合注解,它包含了@Configuration、@EnableAutoConfiguration和@ComponentScan注解。这个注解表示这是一个Spring Boot应用程序,并启用自动配置和组件扫描。

  • @SpringBootConfiguration:本质上就是@Configuration,将一个类配置成容器类,类似于xml的的bean文件。

  • @RestController:这个注解表示这个类是一个RESTful Web服务的控制器。它的方法返回的结果会被自动转换为JSON格式。

  • @RequestMapping:这个注解用于映射HTTP请求到控制器的处理方法。它可以用于类级别和方法级别。

  • @Autowired:这个注解用于自动装配Spring Bean。它可以用于构造函数、属性和方法参数上。

  • @Value:这个注解用于注入配置属性。它可以用于属性和方法参数上。

  • @Configuration:这个注解表示这个类是一个配置类,它可以包含@Bean注解的方法,用于创建Spring Bean。

  • @EnableAutoConfiguration:这个注解表示启用Spring Boot的自动配置机制。

  • @ComponentScan:这个注解用于扫描指定包及其子包下的组件,并将它们注册为Spring Bean。

  • @Import:Spring 3.0添加注解,用来导入一个或者多个@Configuration注解修饰的配置类。

  • @ConditionalOnClass:组合@Conditional注解,当容器中有指定Class才可开启配置。

 什么是自动配置,自动配置的过程?

自动配置的作用:在使用数据源时,不需要手动配置数据源对象

  • 系统在启动时会读取spring-boot-autoconfigure中的meta-inf中的spring.factories中所有的需要自动装配的类,过滤掉不符合条件;清单
  • 引入jdbc的启动器(满足了启用自动配置的条件:)

          如果存在指定的字节码文件,启动自动配置类

         @ConditionalOnClass({DataSource.class, EmbeddedDatabaseType.class})

  • 加载配置文件中的属性信息

        将属性配置类作为bean注入到容器中         @EnableConfigurationProperties({DataSourceProperties.class})

@ConfigurationProperties和@Value注解的作用和区别?

@ConfigurationProperties和@Value注解

都是Spring Boot中用于注入配置属性的注解,但它们的作用和使用方式有所不同。

作用:

  • @ConfigurationProperties注解的作用是将配置文件中的属性值注入到Java Bean中,通常在application.properties或application.yml文件中定义属性值。使用@ConfigurationProperties注解时,需要创建一个Java Bean,并使用@ConfigurationProperties注解标记这个Bean,指定前缀或属性名,Spring Boot会自动将属性值注入到这个Bean的属性中。

  • 使用@Value注解时,可以将单个属性值注入到Java Bean的属性中,也可以注入到方法参数中。

区别: 

ConfigurationPropertiesValue
全局绑定支持不支持
SPEL不支持支持
复杂数据类型支持不支持
名字松散绑定支持: ip_Address ipaddress不支持:ipAddress
JSR303数据验证支持不支持

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值