At line 273 changed 2 lines. |
;:I tend to just hard-code test values into Java code - but the .properties file is an option. |
|
;:''I tend to just hard-code test values into Java code - but the .properties file is an option.'' |
At line 309 changed 1 line. |
At this point, you should be able to compile all the source in src/dao and test/dao using "ant compile-dao". However, if you try to run "ant test-dao -Dtestcase=PersonDao", you will get an error: <span style="color: red">No bean named 'personDao' is defined</span>. This is an error message from Spring - indicating that we need to specify a bean named ''personDAO'' in applicationContext-hibernate.xml. Before we do that, we need to create the PersonDao implementation class. |
Notice in the class above there are no exceptions on the method signatures. This is due to the power of [Spring|http://www.springframework.org] and how it wraps Exceptions with RuntimeExceptions. At this point, you should be able to compile all the source in src/dao and test/dao using "ant compile-dao". However, if you try to run "ant test-dao -Dtestcase=PersonDao", you will get an error: <span style="color: red">No bean named 'personDao' is defined</span>. This is an error message from Spring - indicating that we need to specify a bean named ''personDAO'' in applicationContext-hibernate.xml. Before we do that, we need to create the PersonDao implementation class. |
At line 311 changed 1 line. |
;:''The ant task for running tests is called "test-module." If you pass in a testcase parameter (using -Dtestcase=name), it will look for **/*${testcase}* - allowing us to pass in Person, PersonDao, or PersonDaoTest - all of which will execute the PersonDaoTest class.'' |
;:''The ant task for running dao tests is called "test-dao". If you pass in a testcase parameter (using -Dtestcase=name), it will look for **/*${testcase}* - allowing us to pass in Person, PersonDao, or PersonDaoTest - all of which will execute the PersonDaoTest class.'' |
At line 313 changed 1 line. |
Let's start by creating a PersonDaoHibernate class that implements the methods in PersonDao and uses Hibernate to get/save/delete the Person object. To do this, create a new class in src/dao/**/persistence/hibernate and name it PersonDAOHibernate.java. It should extend Spring's [HibernateDaoSupport|http://www.springframework.org/docs/api/org/springframework/orm/hibernate/support/HibernateDaoSupport.html] and implement PersonDAO. ''Javadocs eliminated for brevity.'' |
Let's start by creating a PersonDaoHibernate class that implements the methods in PersonDao and uses Hibernate to get/save/delete the Person object. To do this, create a new class in src/dao/**/persistence/hibernate and name it PersonDAOHibernate.java. It should extend [BaseDaoHibernate|http://raibledesigns.com/downloads/appfuse/api/org/appfuse/persistence/BaseDAOHibernate.java.html] and implement PersonDAO. ''Javadocs eliminated for brevity.'' |
At line 327 removed 12 lines. |
|
/** |
* This class interacts with Hibernate's Session object to save and |
* retrieve Person objects. |
* |
* <p> |
* <a href="PersonDaoHibernate.java.html"><i>View Source</i></a> |
* </p> |
* |
* @author <a href="mailto:[email protected]">Matt Raible</a> |
* @version $Revision: 1.8 $ $Date: 2004/04/12 08:05:27 $ |
*/ |
At line 379 added 2 lines. |
;:''You could also use __autowire="byName"__ to the <bean> and get rid of the "sessionFactory" property. Personally, I like having the dependencies of my objects documented (in XML). |
|