I was thinking more about greenfield projects when I made my previous post.
As a variant of this - if I write a low level class that contains a bug and it can't reproduced through a functional/integration test, is it still a bug?
It's hard to prove things. And even if you can, you need people to feel that testing is important. This is true for unit or functional/integration testing in JUnit or TestNG. People write better tests if they buy into why testing is important and aren't just doing it because someone told them they have to.
Many people who don't write unit tests believe that functional/integration testing is sufficient. I certainly did four years ago.
As the person who suggested this, I meant for it as a short term measure. It is still important to get people to agree the tests should always work even if they aren't writing them yet. I actually had some success with this because it was easier to get people to agree that "tests are good and should run" than that they should write the tests. Then once some tests are in place, the benefits start to show themselves. And of course, sometimes this will fail. That's why there isn't any one answer we can give - it depends on your team.
I think there are many more cases where unit testing proves useful than when it doesn't. I think it goes by product, not team though.
write unit tests or debug
Spring and Struts, etc. are J2EE compatible in the sense that they utilize parts of J2EE, such as Servlets.