spring-boot - 该值不是通过注入加载的
问题描述
这儿存在一个问题。我启动应用程序并出现错误:创建名称为“kafkaConsumerConfig”的 bean 时出错:自动装配依赖项注入失败;嵌套异常是 java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.kafka.bootstrap-servers' in value "${spring.kafka.bootstrap-servers}" 告诉我该怎么做?
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public SpringLiquibase liquibase(DataSource ds) {
SpringLiquibase liquibase = new SpringLiquibase();
liquibase.setChangeLog("classpath:liquibase-changeLog.xml");
liquibase.setDataSource(ds);
return liquibase;
}
}
@Configuration
public class KafkaConsumerConfig {
@Value("${spring.kafka.bootstrap-servers}")
private String kafkaServer;
@Value("${spring.kafka.consumer.group-id}")
private String kafkaGroupId;
@Bean
public Map<String, Object> consumerConfigs() {
Map<String, Object> props = new HashMap<>();
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaServer);
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, IntegerDeserializer.class);
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
props.put(ConsumerConfig.GROUP_ID_CONFIG, kafkaGroupId);
props.put(JsonDeserializer.TRUSTED_PACKAGES, "ru.job4j");
return props;
}
@Bean
public KafkaListenerContainerFactory<?> kafkaListenerContainerFactory() {
ConcurrentKafkaListenerContainerFactory<Integer, Passport> factory = new ConcurrentKafkaListenerContainerFactory<>();
factory.setConsumerFactory(consumerFactory());
return factory;
}
@Bean
public ConsumerFactory<Integer, Passport> consumerFactory() {
return new DefaultKafkaConsumerFactory<>(consumerConfigs());
}
}
文件 application.properties:
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.datasource.url=jdbc:postgresql://localhost:5432/managing
spring.datasource.username=pos
spring.datasource.password=pas
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
api-url=http://localhost:8080/api
spring.kafka.consumer.group-id=app.1
spring.kafka.bootstrap-servers=localhost:9092
server.port=8084
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
解决方案
推荐阅读
- php - Laravel PHP 将集合项移动到集合的顶部
- flutter - 如何在 Flutter 中为“TextFormField”制作自定义基线
- python - 组 连续范围日期
- html - 如何从右到左对齐引导导航栏
- python - 如何获取实际的 ECS 任务创建日期和时间
- python - 包含 Django admin 中的自定义模型方法的错误
- javascript - 显示当月到第 15 天,然后到第 15 天之后的下个月。例如:如果 7 月 10 日 - 显示“七月”,如果 7 月 20 日 - 显示“八月”,
- vue.js - Nuxt js / Vuex 无法获取由 nuxtServerInit 设置的组件的状态变量
- authentication - 保存 swiftUI 的用户凭据 - 密码 ActionSheet 调用
- svg-animate - 错误:
属性转换:预期数字,“….86602540378444 -0. 0. -0.866025…”