Você tem uma referência circular.
AtoPessoalService depende de CargoService.
CargoService depende HistoricoService.
HistoricoService depende de AtoPessoalService.
Dá uma olhada aqui, tem uma solução e alguns links.
http://blog.tremend.ro/2007/04/05/avoid-spring-circular-reference-and-over-eager-type-matching-using-lazy-initialization/
@Service(value="atoPessoalService")
@Transactional(propagation=Propagation.REQUIRED)
public class AtoPessoalServiceImpl implements AtoPessoalService {
private AtoPessoalRepository atoPessoalRepository ;
@Resource(name="servidorService")
private ServidorService servidorService ;
@Resource(name="processoSeletivoService")
private ProcessoSeletivoService processoSeletivoService ;
@Resource(name="controleSistemaService")
private ControleSistemaService controleSistemaService ;
@Resource(name="cargoService") // Quando eu habilito esse serviço dispara um erro e não deixa levantar a aplicação.
private CargoService cargoService ;
....
@Service(value="historicoService")
@Transactional(propagation=Propagation.REQUIRED)
public class HistoricoServiceImpl implements HistoricoService {
private HistoricoRepository historicoRepository ;
@Resource(name="atoPessoalService")
private AtoPessoalService atoPessoalService ;
@Service(value="cargoService")
@Transactional
public class CargoServiceImpl implements CargoService {
private CargoRepository cargoRepository ;
@Resource(name="historicoService")
private HistoricoService historicoService ;
Gente tenho essas 3 classes de realizando injeções de dependência por meio do Spring Anotação. Quando eu injeto o CargoService dentro do AtoPessoalService dispara um erro igual ao que aparece logo abaixo.
org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'atoPessoalService': Bean with name 'atoPessoalService' has been injected into other beans [historicoService] in its raw version as part of a circular reference, but has eventually been wrapped (for example as part of auto-proxy creation). This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example.
Alguem ja passou por isso ?