问题描述
@Data
@Configuration
@ConfigurationProperties(prefix = "notifications")
@Validated
public class NotificationConfig {
@NotNull
@Valid
private NotificationMessageConfig message = new NotificationMessageConfig();
@NotNull
@Valid
private SmsConfig sms = new SmsConfig();
@NotNull
@Valid
private EmailConfig email = new EmailConfig();
@NotNull
@Valid
private NotificationTimerConfig timer = new NotificationTimerConfig();
}
在集成测试中,我试图自动装配类的 bean。在运行时,我有一个自动装配的 bean,但这个 bean 具有空值而不是绑定配置。 注意!如果我删除 @Validated 注释,我将拥有一个有效的 bean,但配置将不会被验证。
@Slf4j
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@SpringBoottest(webEnvironment = SpringBoottest.WebEnvironment.DEFINED_PORT)
@requiredArgsConstructor
public class NotificationsIT extends BaseIntegrationTest {
@Autowired
private Notifications notification;
@Autowired
private Banks banks;
@Autowired
private NotificationConfig notificationConfig;
@BeforeEach
public void init() {
super.init();
// notificationConfig autowired but fields have null values
defaultNotificationConfig = clone(notificationConfig);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)