Допустим, у меня есть такой класс Java:
public class PersonGrabber {
private PersonDAO dao;
public void setDao(PersonDao dao) {
this.dao = dao;
}
public PersonDAO getDao() {
return this.dao;
}
//...
}
И у меня есть соответствующий Spring Bean, как это:
<bean id="personGrabber" class="com.stackoverflow.example.PersonGrabber">
<property name="dao"><null/></property>
</bean>
Теперь это плохо, потому что мне действительно нужно, чтобы свойство dao
было установлено на что-то в этом бине, прежде чем оно станет полезным. Тем не менее, я не хочу ждать до времени выполнения, чтобы ждать, пока он выдаст NullPointerException
. Можно ли сказать Spring, что свойство bean MUST должно быть заполнено, прежде чем его можно будет использовать? В идеале, я хотел бы, чтобы он потерпел крах при инициализации, чтобы мне не пришлось ждать, пока это выяснит.
Я надеялся на что-то вроде аннотации в духе:
public class PersonGrabber {
@SpringRequired
private PersonDAO dao;
//...
}
Есть какая-нибудь помощь от некоторых ветеранов Весны?