kbo*_*oom 1 spring constructor wicket superclass
我在尝试实例化此类时遇到此错误:
public class ActivationAjaxBehavior extends AbstractAjaxBehavior {
private static final long serialVersionUID = 3103844752146887631L;
private final String tokenKey = "token";
@SpringBean
private RegistrationService registrationService;
public ActivationAjaxBehavior() {
super();
//Injector.get().inject(this);
}
@Override
public void onRequest() {
RequestCycle requestCycle = RequestCycle.get();
ServletWebRequest webRequest = (ServletWebRequest) requestCycle
.getRequest();
HttpServletRequest request = webRequest.getContainerRequest();
String extractedToken = (String) request.getParameter(tokenKey);
try {
registrationService.confirmUser(extractedToken);
proceedToSignInPage();
} catch (WrongTokenException e) {
e.printStackTrace();
proceedToSignUpPage();
}
}
private void proceedToSignInPage() {
throw new RestartResponseException(
SignInPage.class);
}
private void proceedToSignUpPage() {
throw new RestartResponseException(
RegisterPage.class);
}
Run Code Online (Sandbox Code Playgroud)
}
我认为@SpringBean 是这里的问题。但它在 spring 容器中可用......它在其他地方完全可用......
@Bean
public IRegistrationService userRegistrationService() {
return new RegistrationService(databaseBean());
}
Run Code Online (Sandbox Code Playgroud)
与该注射器未散列它得到
java.lang.RuntimeException: error while injecting object
Superclass has no null constructors but no arguments were given
Run Code Online (Sandbox Code Playgroud)
你的问题很清楚。为了使用@SpringBean正在注入的类注入依赖项,必须满足以下要求:
你的问题要么是第一条规则,要么是第二条规则。因此,请检查这些条件并根据它们解决您的问题。