SPR-5326: HibernateClinic in PetClinic sample should use constructor-injection instead of field injection

master
Arjen Poutsma 16 years ago
parent f09db3a106
commit fe31de529b
  1. 9
      org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/hibernate/HibernateClinic.java
  2. 4
      org.springframework.samples.petclinic/src/test/java/org/springframework/samples/petclinic/hibernate/HibernateClinicTests-context.xml

@ -5,6 +5,7 @@ import java.util.Collection;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.samples.petclinic.Clinic;
import org.springframework.samples.petclinic.Owner;
import org.springframework.samples.petclinic.Pet;
@ -13,7 +14,6 @@ import org.springframework.samples.petclinic.Vet;
import org.springframework.samples.petclinic.Visit;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.dao.DataAccessException;
/**
* Hibernate implementation of the Clinic interface.
@ -35,9 +35,12 @@ import org.springframework.dao.DataAccessException;
@Transactional
public class HibernateClinic implements Clinic {
@Autowired
private SessionFactory sessionFactory;
@Autowired
public HibernateClinic(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
@Transactional(readOnly = true)
@SuppressWarnings("unchecked")

@ -3,7 +3,9 @@
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean class="org.springframework.samples.petclinic.hibernate.HibernateClinic" />
<bean class="org.springframework.samples.petclinic.hibernate.HibernateClinic">
<constructor-arg ref="sessionFactory"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
p:dataSource-ref="dataSource" p:mappingResources="petclinic.hbm.xml">

Loading…
Cancel
Save