如何在创建所有其他bean

时间:2015-12-08 17:40:06

标签: spring spring-boot spring-validator

我正在尝试将LocalValidatorFactoryBean添加到现有的Spring Boot Web应用程序中。

无论我尝试过什么(暂时列出)它只会在大多数其他bean之后创建验证器(使用日志记录和断点进行验证),因此它们永远不会得到验证。

Tangentially,我在类路径上有hibernate-validator,并尝试在@Component属性上使用javax.validation.constraints。

应用程序类有@Configuration@EnableAutoConfiguration@ComponentScan({"my.package.**"})

  • 使用bean <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
  • 添加application.xml
  • 将上述bean添加到validator.xml并添加@ImportResource("validator.xml")
  • 将新的@Bean添加到Application类。 public Validator validator() { return new LocalValidatorFactoryBean(); }
  • @Order(Ordered.HIGHEST_PRECEDENCE)添加到上述@Bean
  • 向扫描的软件包添加BeanValidator @Component
  • 并向其添加@Order

在所有情况下,验证程序仅在FilterRegistrationBean完成其业务记录后加载,但我想要验证的bean已经创建并用于设置数据连接和安全性。

自从我使用Spring以来已经过了几年,但在application.xml中定义所有内容时我都不记得这些问题。这只是spring-boot不支持的东西,我应该回到传统的Spring应用程序配置吗?

如何让它验证我的所有豆子?

1 个答案:

答案 0 :(得分:0)

我忘记了BeanValidationPostProcessor