Ich habe eine Klasse Wicket Session alsWie man Frühlingsbohne in der Wicket Sitzungsklasse autowire?
public class IASession extends AuthenticatedWebSession {
private static final long serialVersionUID = 3529263965780210677L;
@SpringBean
private UserService userService;
public IASession(Request request) {
super(request);
}
@Override
public boolean authenticate(String username, String password) {
// Get the user
UserDetailsDTO user = userService.findByEmail(username);
if(null != user && user.getPassword().equals(password))
return true;
else
return false;
}
@Override
public Roles getRoles() {
Roles roles = new Roles();
roles.add("SIGNED_IN");
return roles;
}
}
In dieser Klasse folgt, ich versuche @SpringBean
Wicket-Feder annnotation mit Spring Service autowire. Aber wenn ich versuche mich anzumelden, bekomme ich einen Fehler.
Last cause: null
WicketMessage: Method onFormSubmitted of interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at [StatelessForm [Component id = login-form]] on component [StatelessForm [Component id = login-form]] threw an exception
Wicket ist nicht in der Lage, die userService
Frühling Bohne autowire und deshalb ist es null
ist.
Was kann ich tun, um das Problem zu beheben?
Ich habe Wicket zuvor nicht verwendet, aber ist IASession im Kontext der Spring-Anwendung sichtbar? Ich sehe keine Anmerkung zu dieser Klasse, die darauf hinweisen würde. Wenn Ihre Zielklasse nicht von Spring verwaltet wird, können Sie nichts darin automatisch ansteuern. Wird Ihr UserService auch von Spring verwaltet? –