在 Spring 引导应用程序上下文中未找到 Bean
No Bean Found in Spring Boot application context
@Data
@AllArgsConstructor
@NoArgsConstructor
@Component
@Configuration
@ConfigurationProperties("promotion")
public class PromotionConfig {
private AppClientConfig appConfig;
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AppClientConfig {
private int readTImeout;
private int writeTimeout;
}
当我尝试执行 @Autowire PromotionConfig 时抛出一个错误,指出没有找到 AppClientConfig 的合格 bean。
我知道会出现此错误,因为我在 AppClientConfig 中没有 @Component。
如何在不在 AppClientConfig 中添加 @Component 的情况下使其工作。我想保留它 Plain POJO class.
我的local.yml文件
promotion:
appConfig:
readTImeout: 10
writeTimeout: 10
使用 Spring 您还有另一种方法:使用 Bean
配置:
@Bean
public AppClientConfig configureAppClientConfig(){
return new AppClientConfig(); // You can use your own way to create the instance
}
注意:上面的bean配置应该在Spring配置中实现class.
最后,您需要调用 @Autowired
:
@Data
@AllArgsConstructor
@NoArgsConstructor
@Component
@Configuration
@ConfigurationProperties("promotion")
public class PromotionConfig {
@Autowired
private AppClientConfig appConfig;
}
您可以在非 spring 类 中静态加载 spring bean,如:
PromotionConfig PromotionConfig = ApplicationInitializer.getAppContext().getBean(PromotionConfig.class);
@Data
@AllArgsConstructor
@NoArgsConstructor
@Component
@Configuration
@ConfigurationProperties("promotion")
public class PromotionConfig {
private AppClientConfig appConfig;
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AppClientConfig {
private int readTImeout;
private int writeTimeout;
}
当我尝试执行 @Autowire PromotionConfig 时抛出一个错误,指出没有找到 AppClientConfig 的合格 bean。
我知道会出现此错误,因为我在 AppClientConfig 中没有 @Component。
如何在不在 AppClientConfig 中添加 @Component 的情况下使其工作。我想保留它 Plain POJO class.
我的local.yml文件
promotion:
appConfig:
readTImeout: 10
writeTimeout: 10
使用 Spring 您还有另一种方法:使用 Bean
配置:
@Bean
public AppClientConfig configureAppClientConfig(){
return new AppClientConfig(); // You can use your own way to create the instance
}
注意:上面的bean配置应该在Spring配置中实现class.
最后,您需要调用 @Autowired
:
@Data
@AllArgsConstructor
@NoArgsConstructor
@Component
@Configuration
@ConfigurationProperties("promotion")
public class PromotionConfig {
@Autowired
private AppClientConfig appConfig;
}
您可以在非 spring 类 中静态加载 spring bean,如:
PromotionConfig PromotionConfig = ApplicationInitializer.getAppContext().getBean(PromotionConfig.class);