mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2026-01-22 11:21:12 +00:00
added aspectj decaration. All JUnit tests are now successful
This commit is contained in:
parent
608c42f74b
commit
b459ca3377
7 changed files with 31 additions and 16 deletions
|
|
@ -29,7 +29,7 @@ import org.springframework.dao.DataAccessException;
|
|||
*/
|
||||
@Repository
|
||||
@Transactional
|
||||
public class EntityManagerClinic implements Clinic {
|
||||
public class JpaClinic implements Clinic {
|
||||
|
||||
@PersistenceContext
|
||||
private EntityManager em;
|
||||
|
|
@ -63,7 +63,10 @@
|
|||
This aspect is defined in petclinic.jar's META-INF/aop.xml file.
|
||||
Note that we can dependency inject this bean like any other bean.
|
||||
-->
|
||||
<bean class="org.springframework.samples.petclinic.aspects.UsageLogAspect" p:historySize="300"/>
|
||||
<aop:aspectj-autoproxy>
|
||||
<aop:include name="usageLogAspect"/>
|
||||
</aop:aspectj-autoproxy>
|
||||
<bean id="usageLogAspect" class="org.springframework.samples.petclinic.aspects.UsageLogAspect" p:historySize="300"/>
|
||||
|
||||
<!--
|
||||
Post-processor to perform exception translation on @Repository classes (from native
|
||||
|
|
@ -76,6 +79,6 @@
|
|||
EntityManager will be auto-injected due to @PersistenceContext.
|
||||
PersistenceExceptions will be auto-translated due to @Repository.
|
||||
-->
|
||||
<bean id="clinic" class="org.springframework.samples.petclinic.jpa.EntityManagerClinic"/>
|
||||
<bean id="clinic" class="org.springframework.samples.petclinic.jpa.JpaClinic"/>
|
||||
|
||||
</beans>
|
||||
|
|
@ -513,7 +513,7 @@
|
|||
<p>
|
||||
The JPA implementation of the <span style="font-weight: bold;">Clinic</span>
|
||||
interface is
|
||||
<span style="font-weight: bold; font-style: italic;">org.springframework.samples.petclinic.jpa.EntityManagerClinic</span>,
|
||||
<span style="font-weight: bold; font-style: italic;">org.springframework.samples.petclinic.jpa.JpaClinic</span>,
|
||||
which is based on native JPA usage combined with Spring's
|
||||
<span style="font-weight: bold;">@Repository</span> and
|
||||
<span style="font-weight: bold;">@Transactional</span> annotations but
|
||||
|
|
|
|||
|
|
@ -39,17 +39,17 @@ public class UsageLogAspectTests {
|
|||
|
||||
@Test
|
||||
public void testUsageLogAspectIsInvoked() {
|
||||
String name1 = "Schuurman";
|
||||
String name2 = "Greenwood";
|
||||
String name3 = "Leau";
|
||||
String lastName1 = "Franklin";
|
||||
String lastName2 = "Davis";
|
||||
String lastName3 = "foo";
|
||||
|
||||
assertTrue(this.clinic.findOwners(name1).isEmpty());
|
||||
assertTrue(this.clinic.findOwners(name2).isEmpty());
|
||||
assertFalse(this.clinic.findOwners(lastName1).isEmpty());
|
||||
assertFalse(this.clinic.findOwners(lastName2).isEmpty());
|
||||
|
||||
List<String> namesRequested = this.usageLogAspect.getNamesRequested();
|
||||
assertTrue(namesRequested.contains(name1));
|
||||
assertTrue(namesRequested.contains(name2));
|
||||
assertFalse(namesRequested.contains(name3));
|
||||
assertTrue(namesRequested.contains(lastName1));
|
||||
assertTrue(namesRequested.contains(lastName2));
|
||||
assertFalse(namesRequested.contains(lastName3));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,6 @@
|
|||
|
||||
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
|
||||
|
||||
<bean id="clinic" class="org.springframework.samples.petclinic.jpa.EntityManagerClinic" />
|
||||
<bean id="clinic" class="org.springframework.samples.petclinic.jpa.JpaClinic" />
|
||||
|
||||
</beans>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue