Enquanto isso na configuracao do Spring....[RESOLVIDO]

2 respostas
JimMorrison

Boa tarde amigos!

Estou tentando uma configuracao no spring q nao sei se é possivel… quero injetar numa propriedade q é declarada por uma interface uma classe específica descrita nos meus beans

vai aih um trecho da configuracao do spring:

<bean id="emissaoTest"
	class="br.com.econfianca.service.EmissaoImplTest" autowire="byName"/>


<bean id="emissaoProxy"
	class="br.com.econfianca.service.EmissaoImplProxy" autowire="byName">
	<property name="emissoes">
		<list>
			<ref bean="emissaoTest"/>
			<ref bean="emissaoTest"/>
			<ref bean="emissaoTest"/>
			<ref bean="emissaoTest"/>
		</list>
	</property>
</bean>

entao, emissao é uma interface… q eh implementada tanto pela classe EmissaoImplProxy, EmissaoImplTest quanto
se eu tentno injetar numa propriedade declarada como:

Emissao emissao;

dah erro dizendo q há mais de um bean para o tipo especificado (tentei corrigir com akele autowire=“byName” mas nao consegui…)

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘br.com.econfianca.service.EmissaoImplProxyTests’: Unsatisfied dependency expressed through bean property ‘emissaoProxy’: No unique bean of type [br.com.econfianca.service.Emissao] is defined: expected single matching bean but found 2: [emissaoTest, emissaoProxy]

2 Respostas

rodrigo_gomes

OLá,

Esse erro só ocorre quando vc vai executar os seus testes? Se for o ‘wire by type’ é o modo default nas classes de teste do Spring.
Tente mudar para ‘wire by name’ nos construtor de seu teste.

[]´s

JimMorrison

Na mosca!

public EmissaoImplProxyTests(){

super();

this.setAutowireMode(AUTOWIRE_BY_NAME);

}

Valeu mesmo!

Criado 27 de dezembro de 2007
Ultima resposta 27 de dez. de 2007
Respostas 2
Participantes 2