Skip to content

Commit fe31de5

Browse files
committed
SPR-5326: HibernateClinic in PetClinic sample should use constructor-injection instead of field injection
1 parent f09db3a commit fe31de5

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/hibernate/HibernateClinic.java

+6-3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.hibernate.SessionFactory;
66

77
import org.springframework.beans.factory.annotation.Autowired;
8+
import org.springframework.dao.DataAccessException;
89
import org.springframework.samples.petclinic.Clinic;
910
import org.springframework.samples.petclinic.Owner;
1011
import org.springframework.samples.petclinic.Pet;
@@ -13,7 +14,6 @@
1314
import org.springframework.samples.petclinic.Visit;
1415
import org.springframework.stereotype.Repository;
1516
import org.springframework.transaction.annotation.Transactional;
16-
import org.springframework.dao.DataAccessException;
1717

1818
/**
1919
* Hibernate implementation of the Clinic interface.
@@ -35,9 +35,12 @@
3535
@Transactional
3636
public class HibernateClinic implements Clinic {
3737

38-
@Autowired
3938
private SessionFactory sessionFactory;
40-
39+
40+
@Autowired
41+
public HibernateClinic(SessionFactory sessionFactory) {
42+
this.sessionFactory = sessionFactory;
43+
}
4144

4245
@Transactional(readOnly = true)
4346
@SuppressWarnings("unchecked")

org.springframework.samples.petclinic/src/test/java/org/springframework/samples/petclinic/hibernate/HibernateClinicTests-context.xml

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
xmlns:p="http://www.springframework.org/schema/p"
44
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
55

6-
<bean class="org.springframework.samples.petclinic.hibernate.HibernateClinic" />
6+
<bean class="org.springframework.samples.petclinic.hibernate.HibernateClinic">
7+
<constructor-arg ref="sessionFactory"/>
8+
</bean>
79

810
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
911
p:dataSource-ref="dataSource" p:mappingResources="petclinic.hbm.xml">

0 commit comments

Comments
 (0)