SPR-5326: HibernateClinic in PetClinic sample should use constructor-injection instead of field injection
This commit is contained in:
parent
f09db3a106
commit
fe31de529b
|
|
@ -5,6 +5,7 @@ import java.util.Collection;
|
||||||
import org.hibernate.SessionFactory;
|
import org.hibernate.SessionFactory;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.dao.DataAccessException;
|
||||||
import org.springframework.samples.petclinic.Clinic;
|
import org.springframework.samples.petclinic.Clinic;
|
||||||
import org.springframework.samples.petclinic.Owner;
|
import org.springframework.samples.petclinic.Owner;
|
||||||
import org.springframework.samples.petclinic.Pet;
|
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.samples.petclinic.Visit;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.dao.DataAccessException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hibernate implementation of the Clinic interface.
|
* Hibernate implementation of the Clinic interface.
|
||||||
|
|
@ -35,9 +35,12 @@ import org.springframework.dao.DataAccessException;
|
||||||
@Transactional
|
@Transactional
|
||||||
public class HibernateClinic implements Clinic {
|
public class HibernateClinic implements Clinic {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SessionFactory sessionFactory;
|
private SessionFactory sessionFactory;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public HibernateClinic(SessionFactory sessionFactory) {
|
||||||
|
this.sessionFactory = sessionFactory;
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,9 @@
|
||||||
xmlns:p="http://www.springframework.org/schema/p"
|
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">
|
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"
|
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
|
||||||
p:dataSource-ref="dataSource" p:mappingResources="petclinic.hbm.xml">
|
p:dataSource-ref="dataSource" p:mappingResources="petclinic.hbm.xml">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue