JSF - 无法将Spring Data JPA存储库注入Converter

时间:2012-05-19 02:16:23

标签: spring jsf converter inject

我确信我过去有这个工作,但它今天不想工作。

示例:

@FacesConverter(value = "inputConverter")
public class InputConverter implements Converter {


    private InputRepository inputRepository;

    @Override
    public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {

        List<Input> allInputs = inputRepository.findAll();

        for(Input input : allInputs) {
            if(input.getInputName().equals(arg2)) {
                return input;
            }
        }
        return null;
    }

    @Override
    public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
        Input input = (Input) arg2;
        return input.getInputName();
    }


    public InputRepository getInputRepository() {
        return inputRepository;
    }

    @Inject
    public void setInputRepository(InputRepository inputRepository) {
        this.inputRepository = inputRepository;
    }

}

结果:

itemRepository.findAll()调用上的空指针异常 - @Inject没有设置它。

1 个答案:

答案 0 :(得分:1)

在另一篇文章中找到答案:ManagedProperty not injected in @FacesConverter

当我使用@Inject并且注入的JPA存储库由Spring管理时,必须使用@Component("itemConverter"), @Scope("session")而不是@ManagedBean