У меня очень простое приложение загрузки Spring, которое использует Spring -Data-Mongodb
Все, что я хочу сделать, это установить правило проверки JSR-303, в котором говорится, что объект, который я сохраняю, должен иметь имя пользователя. Я прочитал, что JSR-303 был добавлен в Spring -data-mongodb в версии 1.1, поэтому я предположил, что когда я сохраняю объект, он проверяется, но это не так.
У кого-нибудь есть простая примерная установка, которая показывает, как это работает?
Мое User pojo выглядит как
public class User {
@Id
private String id;
@NotNull(message = "User Name is compulsory")
private String userName;
private String password;
public User() {}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = PasswordAuthService.hash(password);
}
}
Я видел где-то, что проверка выполняется только в том случае, если у вас есть валидатор, созданный в контексте, поэтому я попробовал обновить свой класс приложения (который содержит всю конфигурацию, чтобы выглядеть как
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
@Bean
public Validator getValidator() {
LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
return validator;
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}