JSF - Erro na Injeção do Recurso

Boa noite a todos,
Estou com um problema ao trabalhar com injeção de dependência no JSF. Já procurei, mas nunca encontro soluções para problemas semelhantes ao meu.
Estou trabalhando com JSF 2.0, Primefaces, JPA , Tomcat 7, Mysql

O erro que eu estou recebendo ao chamar /RMX/servico.jsf é :

exception

javax.servlet.ServletException: Um erro ocorreu ao realizar a injeção de recurso no bean gerenciado ServicoBean
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
root cause

com.sun.faces.mgbean.ManagedBeanCreationException: Um erro ocorreu ao realizar a injeção de recurso no bean gerenciado ServicoBean
	com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:229)

servico.xhtml

<!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>RMX - Servico</title>
</h:head>

<h:body>
	<h:form>
		<p:growl id="messages" />		
	</h:form>
<p:growl id="growl" showDetail="true" showSummary="true" />
	<h:form id="frmCadastro">

		<p:panel header="Dados do Servico">
			<h:panelGrid columns="1" cellspacing="5">

				<h:outputText value="Nome" />
				<p:inputText required="true" label="Nome" id="txtNome"
					value="#{ServicoBean.servico.nome}" />

				<p:commandButton value="Cadastrar" action="#{ServicoBean.salvar}"
					update="growl frmLista @form"
					rendered="#{!ServicoBean.editar}" 
					image="ui-icon ui-icon-disk" />
				<p:commandButton value="Alterar" action="#{ServicoBean.salvar}"
					update="growl frmLista @form"
					rendered="#{ServicoBean.editar}" 
					image="ui-icon ui-icon-disk" />
				<p:commandButton value="Cancelar"
					action="#{ServicoBean.cancelar}" immediate="true"
					update="growl frmLista @form"
					rendered="#{ServicoBean.editar}" 
					image="ui-icon ui-icon-close" />

			</h:panelGrid>
		</p:panel>
	</h:form>
	<br />
	<h:form id="frmLista">
		<p:dataTable id="tbServicos" var="f"
			value="#{ServicoBean.servicos}" paginator="true" rows="3" >
			
			<p:column headerText="NOME" sortBy="#{f.nome}" filterBy="#{f.nome}">
				#{f.nome}
			</p:column>		
			<p:column>
				<f:facet name="header">Operações</f:facet>
				<p:commandButton image="ui-icon ui-icon-trash" action="#{ServicoBean.excluir}"
					update="@form tbServicos frmCadastroServicos" title="Excluir" >
					<f:setPropertyActionListener
						target="#{ServicoBean.ServicoSelecionado}" value="#{f}" />
				</p:commandButton>
				<p:commandButton image="ui-icon ui-icon-pencil" action="#{ServicoBean.alterar}"
					update="growl tbServicos frmCadastroServicos @form" title="Editar" >
					<f:setPropertyActionListener target="#{ServicoBean.Servico}"
						value="#{f}" />
				</p:commandButton>
			</p:column>
		</p:dataTable>
	</h:form>
</h:body>
</html>

ServicoBean.java


package br.com.rmx.bean;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import br.com.rmx.dao.DAOServico;
import br.com.rmx.model.Servico;

/**
 * @author rxavier
 * 
 */

@ManagedBean(name="ServicoBean")
@SessionScoped
public class ServicoBean implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -5380045949613764576L;

	@ManagedProperty(value = "#{daoServico}")
	private DAOServico daoServico;
	private Servico servicoSelecionado;
	private List<Servico> servicos;
	private boolean editar = false;
	private FacesContext context;
	private Servico servico = new Servico();

	public DAOServico getDaoServico() {
		return daoServico;
	}

	public void setDaoServico(DAOServico daoServico) {
		this.daoServico = daoServico;
	}
	
	public FacesContext getContext() {
		return context;
	}

	public void setContext(FacesContext context) {
		this.context = context;
	}	

	public ServicoBean() {
		System.out.println("CRIANDO ServicoBean - @ViewScoped");
	}

	@PostConstruct
	public void listar() {
		servicos = daoServico.listar();
	}

	public void salvar() {
		daoServico.salvar(servico);		
		listar();
		exibirMensagem(servico.getNome() + " Cadastrado com sucesso");

		servico = new Servico();
		editar = false;
	}

	public void alterar() {
		editar = true;
	}
	
	public void excluir() {
		daoServico.excluir(servicoSelecionado);
		servicoSelecionado = null;
		listar();
	}
	
	public String cancelar() {
		servico = new Servico();
		servicoSelecionado = null;
		listar();
		editar = false;
		return "produto";	
		
	}

	private void exibirMensagem(String msg) {
		context = FacesContext.getCurrentInstance();
		context.addMessage(null, new FacesMessage("Mensagem", msg));
	}
	
	public Servico getServico() {
		return servico;
	}
	public void setServico(Servico obj) {
		this.servico = obj;
	}
	public Servico getServicoSelecionado() {
		return servicoSelecionado;
	}

	public void setServicoSelecionado(Servico objSelecionado) {
		this.servicoSelecionado = objSelecionado;
	}
	public List<Servico> getServicos() {
		return servicos;
	}
	public void setServicos(List<Servico> objs) {
		this.servicos = objs;
	}
	
	public boolean isEditar() {		
		return editar;
	}

	public void setEditar(boolean editar) {
		this.editar = editar;
	}
}

DAOServico.java

package br.com.rmx.dao;

import java.io.Serializable;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.persistence.EntityManager;
import javax.persistence.Query;

import org.apache.log4j.Logger;


import br.com.rmx.model.Servico;

@ManagedBean(name="daoServico")
@SessionScoped
public class DAOServico extends Dao<Servico> implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -7582190006688069970L;

	public DAOServico(){
		super(Servico.class);
	}
		
	public List<Servico> listar() {
		Query query = entityManager.createQuery("from Servico");
		
		@SuppressWarnings("unchecked")
		List<Servico> resultList = query.getResultList();
		
		resultList.remove(null);

		return resultList;
	}
	
	public Servico buscar(String nome) {
		Query query = entityManager.createQuery("from Servico f where f.nome = ?1");
		query.setParameter(1, nome);
		
		List<Servico> lista = query.getResultList();

		return (lista.isEmpty() ? null : lista.get(0));
	}	

}

Dao.java

package br.com.rmx.dao;

import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.persistence.EntityManager;

import org.apache.log4j.Logger;

import br.com.rmx.model.Servico;

@ManagedBean(name="dao")
@ApplicationScoped
public abstract class Dao<T> {
	
	private Class persistClass;
	@ManagedProperty(value="#{connectionFactory.entityManager}")
	protected EntityManager entityManager;

	
	public Dao(Class classe)
	{
		this.persistClass = classe;		
	}
	
	public void salvar(T obj)
	{
		entityManager.getTransaction().begin();
		entityManager.persist(obj);
		entityManager.getTransaction().commit();
	}
	
	public T buscar(Object pk)
	{
		return (T) entityManager.find(persistClass, pk);
	}
	
	public void excluir(T obj) {
		entityManager.getTransaction().begin();
		entityManager.remove(obj);
		entityManager.getTransaction().commit();
	}
	
	public void setEntityManager(EntityManager entityManager) {
		this.entityManager = entityManager;
	}

}

Obrigado!

Oi Bom dia Eu olhei seu código o seu controlador ServicoBean na anotation "@ManagedBean(name=“ServicoBean”) "
ta maiúsculo na verdade e pra ta assim @ManagedBean(name=“servicoBean”) pode ser esse o problema…