@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,我如何使它工作。我想让它保持原汁原味。
我的local.yml文件
promotion:
appConfig:
readTImeout: 10
writeTimeout: 10
2条答案
按热度按时间a64a0gku1#
可以在非spring类中静态加载Springbean,如下所示:
gxwragnw2#
使用spring还有另一种方法:使用
Bean
配置:注意:上面的bean配置应该在spring配置类中实现。
最后,你需要使用
@Autowired
: