I also just noticed that you have a component-scan in your other xml file (probably your x-servlet.xml). You should also know that the tx:annotation-driven ONLY works on beans in the SAME applicationcontext. So if your tx:annotation-driven is in your root context (ContextLoaderListener) and you are scanning your services in your DispatcherServlet there is no transactional stuff going to happen.