LocalValidatorFactoryBean
既存の Spring Boot Web アプリケーションに を追加しようとしています。
私が何を試しても(すぐにリストされます)、他のほとんどのBean(ロギングとブレークポイントの両方で検証された)の後にバリデーターを作成するだけなので、検証されることはありません。
接線的には、クラスパスに hibernate-validator があり、プロパティで javax.validation.constraints を使用しようとしてい@Component
ます。
アプリケーション クラスには@Configuration
、@EnableAutoConfiguration
およびがあり@ComponentScan({"my.package.**"})
ます。
- Bean を使用して application.xml を追加する
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
- 上記のbeanをvalidator.xmlに追加して追記
@ImportResource("validator.xml")
@Bean
Application クラスにnew を追加します。public Validator validator() { return new LocalValidatorFactoryBean(); }
@Order(Ordered.HIGHEST_PRECEDENCE)
上記に追加@Bean
- スキャンしたパッケージにBeanValidator を追加
@Component
します。 - それに加え
@Order
て。
いずれの場合も、バリデーターは FilterRegistrationBean がビジネスのログ記録を終了した後にのみロードされますが、検証したい Bean は既に作成されており、データ接続やセキュリティの設定などに使用されています。
Spring を使用してから数年が経ちましたが、application.xml ですべてを定義するときにこれらの問題を覚えていません。これは単に spring-boot がサポートしていないものであり、従来の Spring アプリケーション構成に戻る必要がありますか?
すべての Bean を検証するにはどうすればよいですか?