我将 jsf2.0 用作 MVC 框架,而 Spring 仅用于依赖注入。我让它工作了,但是当 Spring 创建 bean 时几乎没有问题。在我的 JSFBean(ManagedBean)上意味着我必须使用 Spring 的 @Component 注解,否则我无法使其工作。因此,当我的 ManagedBean 在构造函数中有一些代码时,Spring 会抛出异常。它在没有构造函数代码的情况下运行完美。如果您需要其他任何内容,请发表评论。
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myBean' defined in file [C:\Documents and Settings\KshiS\My Documents\NetBeansProjects\Sp_Js_1\build\web\WEB-INF\classes\com\ksh\excel\MyBean.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.ksh.excel.MyBean]: Constructor threw exception; nested exception is java.lang.NullPointerException
我的 JSF Bean 代码是
package com.ksh.excel;
import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.springframework.beans.factory.annotation.Autowired;
/**
*
* @author KshiS
*/
@ManagedBean
@ViewScoped
public class MyBean {
@Autowired
private Userdao userdao;
ArrayList<String> arrayList = new ArrayList<String>();
public MyBean()
{
Object object = FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("Userid");
if(object != null)
{
arrayList.add("Session Value");
}
else
{
arrayList.add("Temp Value");
}
}
public void print()
{
System.out.println(userdao.print());
}
}
如何解决它。? 或者是否有可能在 ManagedBean 上没有 @Component 注释的情况下使其工作。?
一个更重要的问题是我不想使用 Spring As DI 而不是我想使用 J2EE6 依赖注入。但也有一个问题,我必须使用纯 j2EE 服务器,如 glassFish 或 JBOSS。是否可以在Tomcat中使用它。? 我知道 tomcat 不是纯 j2ee 服务器但我只想使用 DI。