I love the article, thank you. I have a question about how I can run unit tests on some of this. If I am not using Spring AOP for Hibernate session/transaction management, it is easy to unit test my DAO layer. If I assume that AOP will create or start the transaction, then a unit test will fail without AOP because there is not transaction. And if i try to use object injection into my unit test (which is a great part of Spring) I need to inject an TransactionProxyFactoryBean instead of the DAO interface object that is needed.
Thank you top anyone who (undestands what I am talking about, and) has any ideas.