Erro JSF

Galera estou com um problema Fiz um cadastro pequeno de usuario so com nome e um check box ao tentar cadastrar ele da o sequinte erro.

GRAVE: javax.faces.FacesException: /index.xhtml @15,83 value="#{usuarioController.usuario.nome}": Target Unreachable, 'null' returned null
        at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:84)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
        at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.el.PropertyNotFoundException: /index.xhtml @15,83 value="#{usuarioController.usuario.nome}": Target Unreachable, 'null' returned null
        at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:93)
        at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
        at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1008)
        at javax.faces.component.UIInput.validate(UIInput.java:934)
        at javax.faces.component.UIInput.executeValidate(UIInput.java:1189)
        at javax.faces.component.UIInput.processValidators(UIInput.java:691)
        at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1080)
        at javax.faces.component.UIForm.processValidators(UIForm.java:243)
        at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1080)
        at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1080)
        at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1180)
        at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
        ... 27 more

Segue meu controller

package controllers;
import Dao.UsuarioDao;
import Dao.UsuarioDaoImp;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import modelo.Usuario;
/**
 *
 * @author Fred
 */
@ManagedBean
@SessionScoped
public class UsuarioController {
    private Usuario usuario;
    private DataModel listaUsuarios;

    public DataModel getListarUsuarios() {
        List<Usuario> lista = new UsuarioDaoImp().list();
        listaUsuarios = new ListDataModel(lista);
        return listaUsuarios;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public void prepararAdicionarUsuario(ActionEvent actionEvent){
        usuario = new Usuario();
    }

    public void prepararAlterarUsuario(ActionEvent actionEvent){
        usuario = (Usuario)(listaUsuarios.getRowData());
    }

    public String excluirUsuario(){

        Usuario usuarioTemp = (Usuario)(listaUsuarios.getRowData());
        UsuarioDao dao = new UsuarioDaoImp();
        dao.remove(usuarioTemp);
        return "index";

    }

    public void adicionarUsuario(ActionEvent actionEvent){

        UsuarioDao dao = new UsuarioDaoImp();
        dao.save(usuario);

    }

    public void alterarUsuario(ActionEvent actionEvent){

        UsuarioDao dao = new UsuarioDaoImp();
        dao.update(usuario);

    }

}

Meu XHTML

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.prime.com.tr/ui">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        <h:form prependId="false">
            <h:panelGrid id="infosLivro" columns="2" style="margin-bottom:10px">

                <h:outputLabel for="nome" value="Nome:" />
                <h:inputText id="nome" value="#{usuarioController.usuario.nome}"/>

                <h:outputLabel for="adm" value="Administrador?" />
                <h:selectBooleanCheckbox
                    title="admUpdates"
                    value="#{usuarioController.usuario.id}" >
                </h:selectBooleanCheckbox>
                <h:outputText
                    value="O Usuário tera acesso de administrador?"/>

                <p:commandButton update="tabela" oncomplete="dialogGerLivro.hide();" actionListener="#{usuarioController.adicionarUsuario}" value="Adicionar Usuario"/>
                <p:commandButton update="tabela" oncomplete="dialogGerLivro.hide();" actionListener="#{usuarioController.alterarUsuario}" value="Alterar Usuario"/>

            </h:panelGrid>
        </h:form>
    </h:body>
</html>

Alguem pode me ajudar?
Obrigado

Instancia teu usuario:

public UsuarioController(){
 usuario = new Usuario();
}

Obrigado cara deu certinho.