diff --git a/examples/mini-service/src/main/resources/applicationContext.xml b/examples/mini-service/src/main/resources/applicationContext.xml
index c17a2671..12344234 100644
--- a/examples/mini-service/src/main/resources/applicationContext.xml
+++ b/examples/mini-service/src/main/resources/applicationContext.xml
@@ -101,6 +101,11 @@
+
+
+
+
+
diff --git a/examples/mini-service/src/test/java/org/springside/examples/miniservice/dao/AccountDaoTest.java b/examples/mini-service/src/test/java/org/springside/examples/miniservice/dao/AccountDaoTest.java
index 58b8a6c0..36a72ab6 100644
--- a/examples/mini-service/src/test/java/org/springside/examples/miniservice/dao/AccountDaoTest.java
+++ b/examples/mini-service/src/test/java/org/springside/examples/miniservice/dao/AccountDaoTest.java
@@ -5,12 +5,10 @@ import static org.junit.Assert.*;
import java.util.List;
import java.util.Map;
-import org.junit.Rule;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springside.examples.miniservice.data.AccountData;
-import org.springside.examples.miniservice.data.SampleDataRule;
import org.springside.examples.miniservice.entity.Department;
import org.springside.examples.miniservice.entity.User;
import org.springside.modules.test.spring.SpringTxTestCase;
@@ -30,10 +28,6 @@ public class AccountDaoTest extends SpringTxTestCase {
@Autowired
private AccountDao accountDao;
- @Rule
- @Autowired
- public SampleDataRule sampleDataRule;
-
@Test
public void getDepartmentDetail() {
Department department = accountDao.getDepartmentDetail(1L);
diff --git a/examples/mini-service/src/test/java/org/springside/examples/miniservice/data/SampleDataRule.java b/examples/mini-service/src/test/java/org/springside/examples/miniservice/data/SampleDataRule.java
deleted file mode 100644
index 5dc49e8c..00000000
--- a/examples/mini-service/src/test/java/org/springside/examples/miniservice/data/SampleDataRule.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.springside.examples.miniservice.data;
-
-import javax.sql.DataSource;
-
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springside.modules.test.data.Fixtures;
-
-@Component
-public class SampleDataRule implements TestRule {
-
- public static boolean dataLoaded = false;
-
- @Autowired
- public DataSource dataSource;
-
- @Override
- public Statement apply(Statement base, Description description) {
- if (!dataLoaded) {
- try {
- Fixtures.reloadData(dataSource, "/data/sample-data.xml");
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- dataLoaded = true;
- }
- return base;
- }
-}
diff --git a/examples/mini-web/src/main/resources/applicationContext.xml b/examples/mini-web/src/main/resources/applicationContext.xml
index 952a59e3..6723e1fe 100644
--- a/examples/mini-web/src/main/resources/applicationContext.xml
+++ b/examples/mini-web/src/main/resources/applicationContext.xml
@@ -116,6 +116,11 @@
+
+
+
+
+
diff --git a/examples/mini-web/src/test/java/org/springside/examples/miniweb/dao/JpaMappingTest.java b/examples/mini-web/src/test/java/org/springside/examples/miniweb/dao/JpaMappingTest.java
index a842c257..d6256f30 100644
--- a/examples/mini-web/src/test/java/org/springside/examples/miniweb/dao/JpaMappingTest.java
+++ b/examples/mini-web/src/test/java/org/springside/examples/miniweb/dao/JpaMappingTest.java
@@ -5,13 +5,10 @@ import javax.persistence.PersistenceContext;
import javax.persistence.metamodel.EntityType;
import javax.persistence.metamodel.Metamodel;
-import org.junit.Rule;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
-import org.springside.examples.miniweb.data.SampleDataRule;
import org.springside.modules.test.spring.SpringTxTestCase;
@ContextConfiguration(locations = { "/applicationContext.xml" })
@@ -22,10 +19,6 @@ public class JpaMappingTest extends SpringTxTestCase {
@PersistenceContext
private EntityManager em;
- @Rule
- @Autowired
- public SampleDataRule sampleDataRule;
-
@Test
public void allClassMapping() throws Exception {
Metamodel model = em.getEntityManagerFactory().getMetamodel();
diff --git a/examples/mini-web/src/test/java/org/springside/examples/miniweb/dao/account/GroupDaoTest.java b/examples/mini-web/src/test/java/org/springside/examples/miniweb/dao/account/GroupDaoTest.java
index 9bf62c1f..3532c373 100644
--- a/examples/mini-web/src/test/java/org/springside/examples/miniweb/dao/account/GroupDaoTest.java
+++ b/examples/mini-web/src/test/java/org/springside/examples/miniweb/dao/account/GroupDaoTest.java
@@ -5,12 +5,10 @@ import static org.junit.Assert.*;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
-import org.junit.Rule;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springside.examples.miniweb.data.AccountData;
-import org.springside.examples.miniweb.data.SampleDataRule;
import org.springside.examples.miniweb.entity.account.Group;
import org.springside.examples.miniweb.entity.account.User;
import org.springside.modules.test.spring.SpringTxTestCase;
@@ -32,10 +30,6 @@ public class GroupDaoTest extends SpringTxTestCase {
@PersistenceContext
private EntityManager em;
- @Rule
- @Autowired
- public SampleDataRule sampleDataRule;
-
/**
* 测试删除权限组时删除用户-权限组的中间表.
* @throws Exception
diff --git a/examples/mini-web/src/test/java/org/springside/examples/miniweb/dao/account/UserDaoTest.java b/examples/mini-web/src/test/java/org/springside/examples/miniweb/dao/account/UserDaoTest.java
index 4398ea6e..d44ca965 100644
--- a/examples/mini-web/src/test/java/org/springside/examples/miniweb/dao/account/UserDaoTest.java
+++ b/examples/mini-web/src/test/java/org/springside/examples/miniweb/dao/account/UserDaoTest.java
@@ -5,12 +5,10 @@ import static org.junit.Assert.*;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
-import org.junit.Rule;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springside.examples.miniweb.data.AccountData;
-import org.springside.examples.miniweb.data.SampleDataRule;
import org.springside.examples.miniweb.entity.account.User;
import org.springside.modules.test.spring.SpringTxTestCase;
@@ -29,10 +27,6 @@ public class UserDaoTest extends SpringTxTestCase {
@PersistenceContext
private EntityManager em;
- @Rule
- @Autowired
- public SampleDataRule sampleDataRule;
-
@Test
//如果你需要真正插入数据库,将Rollback设为false
//@Rollback(false)
diff --git a/examples/mini-web/src/test/java/org/springside/examples/miniweb/data/SampleDataRule.java b/examples/mini-web/src/test/java/org/springside/examples/miniweb/data/SampleDataRule.java
deleted file mode 100644
index f724ff88..00000000
--- a/examples/mini-web/src/test/java/org/springside/examples/miniweb/data/SampleDataRule.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.springside.examples.miniweb.data;
-
-import javax.sql.DataSource;
-
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springside.modules.test.data.Fixtures;
-
-@Component
-public class SampleDataRule implements TestRule {
-
- public static boolean dataLoaded = false;
-
- @Autowired
- public DataSource dataSource;
-
- @Override
- public Statement apply(Statement base, Description description) {
- if (!dataLoaded) {
- try {
- Fixtures.reloadData(dataSource, "/data/sample-data.xml");
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- dataLoaded = true;
- }
- return base;
- }
-}
diff --git a/examples/showcase/src/main/resources/applicationContext.xml b/examples/showcase/src/main/resources/applicationContext.xml
index e04af422..85e9c1b1 100644
--- a/examples/showcase/src/main/resources/applicationContext.xml
+++ b/examples/showcase/src/main/resources/applicationContext.xml
@@ -138,6 +138,11 @@
+
+
+
+
+
diff --git a/examples/showcase/src/test/java/org/springside/examples/showcase/data/SampleDataRule.java b/examples/showcase/src/test/java/org/springside/examples/showcase/data/SampleDataRule.java
deleted file mode 100644
index 2b621349..00000000
--- a/examples/showcase/src/test/java/org/springside/examples/showcase/data/SampleDataRule.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.springside.examples.showcase.data;
-
-import javax.sql.DataSource;
-
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springside.modules.test.data.Fixtures;
-
-@Component
-public class SampleDataRule implements TestRule {
-
- public static boolean dataLoaded = false;
-
- @Autowired
- public DataSource dataSource;
-
- @Override
- public Statement apply(Statement base, Description description) {
- if (!dataLoaded) {
- try {
- Fixtures.reloadData(dataSource, "/data/sample-data.xml");
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- dataLoaded = true;
- }
- return base;
- }
-}
diff --git a/examples/showcase/src/test/java/org/springside/examples/showcase/schedule/JdkTimerJobTest.java b/examples/showcase/src/test/java/org/springside/examples/showcase/schedule/JdkTimerJobTest.java
index ceebe3f6..2137b5e9 100644
--- a/examples/showcase/src/test/java/org/springside/examples/showcase/schedule/JdkTimerJobTest.java
+++ b/examples/showcase/src/test/java/org/springside/examples/showcase/schedule/JdkTimerJobTest.java
@@ -3,13 +3,10 @@ package org.springside.examples.showcase.schedule;
import static org.junit.Assert.*;
import org.junit.Ignore;
-import org.junit.Rule;
import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.transaction.TransactionConfiguration;
-import org.springside.examples.showcase.data.SampleDataRule;
import org.springside.modules.log.MockLog4jAppender;
import org.springside.modules.test.spring.SpringTxTestCase;
import org.springside.modules.utils.Threads;
@@ -20,10 +17,6 @@ import org.springside.modules.utils.Threads;
@TransactionConfiguration(transactionManager = "defaultTransactionManager")
public class JdkTimerJobTest extends SpringTxTestCase {
- @Rule
- @Autowired
- public SampleDataRule sampleDataRule;
-
@Test
public void scheduleJob() throws Exception {
diff --git a/examples/showcase/src/test/java/org/springside/examples/showcase/schedule/QuartzTimerClusterJobTest.java b/examples/showcase/src/test/java/org/springside/examples/showcase/schedule/QuartzTimerClusterJobTest.java
index 98a177c9..489070a9 100644
--- a/examples/showcase/src/test/java/org/springside/examples/showcase/schedule/QuartzTimerClusterJobTest.java
+++ b/examples/showcase/src/test/java/org/springside/examples/showcase/schedule/QuartzTimerClusterJobTest.java
@@ -3,13 +3,10 @@ package org.springside.examples.showcase.schedule;
import static org.junit.Assert.*;
import org.junit.Ignore;
-import org.junit.Rule;
import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.transaction.TransactionConfiguration;
-import org.springside.examples.showcase.data.SampleDataRule;
import org.springside.modules.log.MockLog4jAppender;
import org.springside.modules.test.spring.SpringTxTestCase;
import org.springside.modules.utils.Threads;
@@ -25,10 +22,6 @@ import org.springside.modules.utils.Threads;
@TransactionConfiguration(transactionManager = "defaultTransactionManager")
public class QuartzTimerClusterJobTest extends SpringTxTestCase {
- @Rule
- @Autowired
- public SampleDataRule sampleDataRule;
-
@Test
public void scheduleJob() throws Exception {
diff --git a/modules/core/src/main/java/org/springside/modules/test/data/DefaultDataInitializer.java b/modules/core/src/main/java/org/springside/modules/test/data/DefaultDataInitializer.java
new file mode 100644
index 00000000..5f2b7568
--- /dev/null
+++ b/modules/core/src/main/java/org/springside/modules/test/data/DefaultDataInitializer.java
@@ -0,0 +1,26 @@
+package org.springside.modules.test.data;
+
+import javax.sql.DataSource;
+
+import org.springframework.beans.factory.InitializingBean;
+
+public class DefaultDataInitializer implements InitializingBean {
+
+ private DataSource dataSource;
+
+ private String defaultDataFile;
+
+ public void setDataSource(DataSource dataSource) {
+ this.dataSource = dataSource;
+ }
+
+ public void setDefaultDataFile(String defaultDataFile) {
+ this.defaultDataFile = defaultDataFile;
+ }
+
+ @Override
+ public void afterPropertiesSet() throws Exception {
+ Fixtures.reloadData(dataSource, defaultDataFile);
+ }
+
+}