Java 如何使用WireVariable修复bean到ViewModel的注入?
我正在开发web应用程序,并尝试使用@WireVariable将@Service注入到视图模型中。Allpication生成并部署,但在ViewModel初始化期间,会出现my bean方法调用上的NullPointerException。由于某种原因,我的豆子没有注射 使用@Inject对控制器进行注入工作正常 视图模型Java 如何使用WireVariable修复bean到ViewModel的注入?,java,spring,zk,Java,Spring,Zk,我正在开发web应用程序,并尝试使用@WireVariable将@Service注入到视图模型中。Allpication生成并部署,但在ViewModel初始化期间,会出现my bean方法调用上的NullPointerException。由于某种原因,我的豆子没有注射 使用@Inject对控制器进行注入工作正常 视图模型 package ua.dynamicdemoadmin; public class ClientProfilesListViewModel { @WireVari
package ua.dynamicdemoadmin;
public class ClientProfilesListViewModel {
@WireVariable
SomeB someB;
@Init
public void init() {
someB.someM(); //exception appears here
}
}
@VariableResolver(org.zkoss.zkplus.spring.DelegatingVariableResolver.class)
public class ClientProfilesListViewModel {
@WireVariable
SomeB someB;
}
Spring上下文
<beans xmlns:zkspc="http://www.zkoss.org/2008/zkspring/core"
xsi:schemaLocation=http://www.zkoss.org/2008/zkspring/core http://www.zkoss.org/2008/zkspring/core/zkspring-core.xsd">
<context:component-scan base-package="ua.dynamicdemoadmin"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"/>
<property name="suffix" value=""/>
</bean>
<zkspc:zk-config/>
</beans>
要连接Spring托管bean,需要注册Spring变量解析器DelegatingVariableResolver。然后,您可以为连接Spring管理的bean添加@WireVariable注释 视图模型
package ua.dynamicdemoadmin;
public class ClientProfilesListViewModel {
@WireVariable
SomeB someB;
@Init
public void init() {
someB.someM(); //exception appears here
}
}
@VariableResolver(org.zkoss.zkplus.spring.DelegatingVariableResolver.class)
public class ClientProfilesListViewModel {
@WireVariable
SomeB someB;
}
要连接Spring托管bean,需要注册Spring变量解析器DelegatingVariableResolver。然后,您可以为连接Spring管理的bean添加@WireVariable注释 视图模型
package ua.dynamicdemoadmin;
public class ClientProfilesListViewModel {
@WireVariable
SomeB someB;
@Init
public void init() {
someB.someM(); //exception appears here
}
}
@VariableResolver(org.zkoss.zkplus.spring.DelegatingVariableResolver.class)
public class ClientProfilesListViewModel {
@WireVariable
SomeB someB;
}
我不熟悉@wirelaviable,但在谷歌上搜索,似乎有额外的标签,你必须这样做。你能在这里使用@Autowired,或者将someB作为构造函数参数注入吗?我不熟悉@wirelaviable,但在谷歌上,似乎有额外的标记需要你去做。您可以在这里使用@Autowired,或者将someB作为构造函数参数注入吗?很高兴看到您自己能够找到解决方案。这也是最好的解决办法。(还有第二个解决方案:)很高兴看到你自己能找到解决方案。这也是最好的解决办法。(还有第二种解决方案:)