Ich habe ein Problem, das Validator
in die Feder Anwendung Bohne Injektion, wenn ein Modell mit JSR-303 zu validieren versucht (Hibernate-Validator)Frühlings-Boot Wie man richtig javax.validation.Validator injiziert
Mein Haupt Konfigurationsklasse ist:
@EnableAutoConfiguration
@EnableWebMvc // <---
@EnableJpaRepositories("com.example")
@EntityScan("com.example")
public class MainConfiguration {
nach der javadocs:
/**
* Provide a custom {@link Validator} instead of the one created by default.
* The default implementation, assuming JSR-303 is on the classpath, is:
* {@link org.springframework.validation.beanvalidation.LocalValidatorFactoryBean}.
* Leave the return value as {@code null} to keep the default.
*/
Validator getValidator();
Hibernate-Validator auf dem classpath ist. Ich versuche, es in das Repository zu injizieren:
No qualifying bean of type [javax.validation.Validator] found for dependency:
UPDATE:
@Repository
public class UserRepositoryImpl implements UserRepositoryCustom {
@Autowired
private Validator validator;
Exception geworfen für diese
Die partielle Work-around ist dies zu definieren, in die Hauptkonfigurationsklasse:
@Bean
public Validator validator() {
return new org.springframework.validation.beanvalidation.LocalValidatorFactoryBean();
}
Aber Integrationstests (diejenigen, die org.springframework.test.context.web.WebAppConfiguration;
Annotation und Verwendung Validierungslogik erfordern) fehlschlagen.
Haben Sie versucht, eine Bohne vom Typ 'LocalValidatorFactoryBean' wie gemäß konfigurieren http://docs.spring.io/spring/docs/current/spring- Framework-Referenz/html/validation.html # Validierung-Beanvalidierung? – geoand
@geoand yup, versuchte das. Wenn ich den Anwendungskontext nur ohne den WebMvc-Teil starte, sind die Tests grün. Wenn ich versuche, den Validator in den Federcontroller zu injizieren, schlagen die Tests fehl (der Validator kann nicht injiziert werden). – WeMakeSoftware
@geoand scheint, dass Ihre Lösung funktioniert. Das Problem stand im Zusammenhang mit dem internen Caching/der Konfiguration von Intellij Idea. Könnten Sie das als Antwort posten, damit ich es annehmen kann – WeMakeSoftware