Spring

Boa noite pessoal, sei que hoje é fim de semana, mas eu fui estudar.

Parte de meu POM

[code]

org.hibernate
hibernate-core
4.2.0.Final

	<!-- Spring -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>${org.springframework-version}</version>
		<exclusions>
			<!-- Exclude Commons Logging in favor of SLF4j -->
			<exclusion>
				<groupId>commons-logging</groupId>
				<artifactId>commons-logging</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-orm</artifactId>
		<version>3.2.2.RELEASE</version>
	</dependency>[/code]

partes de meu arquivo servlet-context.xml

<beans:bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" destroy-method="destroy"> <beans:property name="hibernateProperties"> <beans:props> <beans:prop key="hibernate.connection.url">jdbc:mysql://localhost:3306/fj27 </beans:prop> <beans:prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</beans:prop> <beans:prop key="hibernate.connection.username">root</beans:prop> <beans:prop key="hibernate.connection.password">microsoft</beans:prop> <beans:prop key="hibernate.connection.autocommit">true</beans:prop> <beans:prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect </beans:prop> <beans:prop key="hibernate.show_sql">true</beans:prop> <beans:prop key="hibernate.format_sql">true</beans:prop> <beans:prop key="hibernate.hbm2ddl.auto">update</beans:prop> </beans:props> </beans:property> <beans:property name="annotatedClasses"> <beans:list> <beans:value>br.com.caelum.estoque.model.Produto</beans:value> <beans:value>br.com.caelum.estoque.model.Movimentacao</beans:value> </beans:list> </beans:property> </beans:bean>

Partes de meu arquivo ProdutoHibernate.java

[code]
@Service
public class ProdutoHibernate implements ProdutoDAO {

@Autowired
private Session session;

@SuppressWarnings("unchecked")
@Override
public List<Produto> lista() {
	List<Produto> produtos = session.createQuery("from Produto").list();
	return produtos;
}

@Override
public void salvar(Produto produto) {
	session.save(produto);
}

@Override
public Produto buscar(Long id) {
	return (Produto) session.get(Produto.class, id);
}

@Override
public void alterar(Produto produto) {
	session.update(produto);
}

}[/code]

e partes do meu arquivo ProdutoController

[code]
@Controller
@RequestMapping(value="/produtos")
public class ProdutoController {

@Autowired
@Qualifier("produtoHibernate")
private ProdutoDAO produtoDAO;

@RequestMapping(value="/lista.htm", method = RequestMethod.GET)
public String listar(Model model){
	//model.addAttribute("prod", produtoDAO);
	return "prod/lista";
}

@RequestMapping(value="/form.htm", method=RequestMethod.GET)
public String form(){
	return "prod/form";
}

@RequestMapping(value="/salvar.htm")
public String salvar(Produto produto){
	produtoDAO.salvar(produto);
	return "redirect:/produtos/lista.htm";
}

}[/code]

A mensagem de erro é No qualifying bean of type [org.hibernate.Session] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

Eu descobri que é do meu session

(private Session session;)

que está vindo o erro, mas ainda não sei deonde o erro está? Será que alguém pode me ajudar?

Obrigado