Привязать вложенный Бин к нулю, если все его свойства пусты в Spring MVC

Давайте предположим, что у меня есть класс Account, который имеет переменную экземпляра класса Person.

public class Account {
  private String accountId;
  private Person person;

  // getters and setters
}


public class Person {
  private String name;

  // getters and setters
}

Теперь, если тело формы POST содержит следующие параметры:

account.accountId=123&account.person.name=

Spring создаст экземпляр нового Person, даже если все его свойства пусты (или null, потому что я использую @ControllerAdvice с @InitBinder, где я устанавливаю StringTrimmerEditor для String). Есть ли способ поручить Spring не создавать экземпляр Person тогда?

1 ответ

Хм, я думаю, что нет, потому что это принцип внедрения зависимостей, чтобы вводить объекты в объекты. и слабое сцепление объектов. Если вы не хотите создавать объект Person, пожалуйста, не предоставляйте для него установщик. Но я не уверен, что весна хотела бы разрешить использование аннотаций.

Другие вопросы по тегам