Инициирование Spring Bean в AuthenticatedWebSession калитки
Поэтому я пытаюсь инициировать Spring Bean в классе, который расширяет AuthenticatedWebSession wicket.
В stakcoverflow есть некоторые ответы, но у меня они не сработали.
public class AuthWebSession extends AuthenticatedWebSession {
@SpringBean(name = "authenticationService")
private AuthenticationService authenticationService;
public AuthWebSession(Request request) {
super(request);
Injector.get().inject(this);
}
@Override
protected boolean authenticate(String username, String password) {
//authenticationService is null here as the spring bean did not initiate
authenticationService.auth(username, password);
}
...
}
authenticationService остается нулевым, поскольку bean-компонент Spring не был инициирован. Использование калитки версии 7.3.0
Есть идеи, как правильно его залить?
1 ответ
Это правильный путь. Боб должен быть ненулевым после Injector.get().inject(this);
выполнен.
Я использую то же самое в моем текущем приложении. Снова 7.3.0.
Вот некоторые предложения:
Убедитесь, что ваши тесты используют YourWicketApplication или если они используют фиктивное приложение, то обязательно настройте SpringComponentInjector.
Удостоверься что
@SpringBean
это Wicket-Spring, потому что Spring 5 также добавил аннотацию с этим именем. Хотя я сомневаюсь, что вы используете Spring 5 снимки еще.
Пожалуйста, создайте мини-демонстрационное приложение, которое воспроизводит проблему, и мы поможем ее отладить!