![](/img/trans.png)
[英]How to inject Spring boot Environment bean to Custom Spring xml bean?
[英]How to inject RequestScope bean in spring boot wicket application
在我的Wicket頁面中,我有:
@SpringBean
protected J2EContext j2EContext;
在配置中,我有:
@Bean
@RequestScope
public J2EContext getWebContext() {
return new J2EContext(request, response, getSessionStore());
}
@Bean
public RequestContextListener requestContextListener() {
return new RequestContextListener();
}
應用程序啟動正常,但是當我轉到主頁時出現異常:
Caused by: java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given
at net.sf.cglib.proxy.Enhancer.emitConstructors(Enhancer.java:931)
at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:631)
at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at net.sf.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:
329)
at net.sf.cglib.proxy.Enhancer.generate(Enhancer.java:492)
at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:93)
at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:91)
at net.sf.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
當檢票口想注入J2EContext
bean時。 我認為這是因為頁面是在@RequestScope
創建此bean之前呈現的。 任何想法如何解決此問題?
注入bean Wicket以兩種不同的方式創建代理:
不幸的是,如果沒有默認構造函數,cglib無法為類創建代理。 但是,存在第三種方法可以解決該問題。 只需將objenesis添加為項目的依賴項,Wicket將使用它代替cglib。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.