首先,@Configuration概述是spring中的一个类。事实上,它取代了xml配置实例化bean。它是一个配置类。将此类声明为配置类并替换它。xml中的bean注册对象一般配合@Bean和@Scope注解使用,将bean对象注入,交给Spring管理。当然,它本身也是一个类,由@component装饰,也交给Spring管理。bean,所以它也有@component功能,可以通过getBean获取这个对象,有一个属性proxyBeanMethods,为true时保持单例对象,为false时不检查ioc容器,但是简单的调用方法来创建一个对象,可能有多个实例对象。注解图的使用过程主要是用来向IOC容器中注入一些Bean对象,比如注入dateSource,注入一些需要配置的类交给Spring管理,就是bean的注册和实例化。二、@Value概述这个注解在Spring中也有。您可以将配置文件中的一些属性注入到业务层代码中。一般有两种格式,${}和#{}。一般我们使用${},使用这个变量,可以注入一个字符串,可以注入一个列表等等,都是可以的,根据规则匹配类型即可,也就是我们经常需要用到的,就是读取配置文件中的属性;#{}use最重要的是直接注入当前配置的属性,或者注入其他bean的属性。这种用法和场景平时很少用到。注解图使用过程${}#{}${}的作用主要是用这个来注入配置文件中的属性值,可以支持一些复杂的数据类型,方便注入配置变量属性。注意,当配置文件中的属性不存在时,会报错。我们可以使用默认值,或者使用下面的@ConfigurationProperties注解来注入属性。三、@ConfigurationProperties概述这个注解是SpringBoot中的一个注解,主要有三种使用场景,主要是读取配置文件的属性。这个读取属性可以将属性统一配置到一个实体类中,所以在使用的时候,可以从全局获取,不需要我们在各个地方注入,可以统一管理,主要是属性注入在配置文件中。注解图使用流程属性注入注:注入属性,统一管理,不会报错。推荐使用@RefreshScop(springCloud的注解)注解配置刷新配置。当Bean被实例化时,@ConfigurationProperties会对应前缀后的属性匹配Bean对象的属性。如果满足条件,则分配一个值。配置类的Bean定义中注意:这里是将以“spring.datasource.primary”为前缀的属性赋值给DataSource对应的属性值。通过@EnableConfigurationProperties定义为Bean注:通过@EnableConfigurationProperties实例化KafkaProperties时,会使用@ConfigurationProperties的函数来匹配和赋值属性。您可以使用bean注册并使用beans。主要功能是将配置查询价格中的属性和java类中定义的属性进行绑定,为属性注入赋值。一般我们推荐使用这个注解来注入属性,配合Springcloud可以刷新配置文件中的值。@value也可以用,如果只是一个属性,可以推荐。@EnableConfigurationProperties其实这个注解是和@ConfigurationProperties注解配合使用进行属性注入绑定的,即将配置文件中的属性和@ConfigurationProperties修改的类进行绑定,交给Spring管理。当然也可以只用@ConfigurationProperties,用@Component修改交给spring管理也是可以的。一般我们都是这样使用的,但是你可以看看KafkaProperties的使用,可以发现使用了这种匹配注解。四、总结主要是讲解属性注入的使用。我们可以根据不同的场景使用不同的配置来进行合理的使用注解。没有最好,只有适合的才是最好的。
