Cara, você não usa/gosta de annotations? Você está fazendo tudo pelo arquivo xml, correto?
Eu não peguei essa fase do Spring, já peguei com as annotations.
Olha, é assim que costumo fazer:
web.xml - sobe o contexto do Spring e chama o arquivo mvc-dispatcher-servlet.xml
<display-name>Spring MVC Application</display-name>
<!-- Spring MVC -->
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/mvc-dispatcher-servlet.xml,
/WEB-INF/spring-security.xml
</param-value>
</context-param>
mvc-dispatcher-servlet.xml
<!-- Ativa várias anottations serem detectadas em classes -->
<context:annotation-config />
<!-- Configura o projeto para as anottations de mvc do Spring
Note that, with Spring 3.0, this tag works in Servlet MVC only! -->
<mvc:annotation-driven />
<!-- Procura no classpath componentes anotados para serem registrados como Spring Beans
For example @Controller and @Service. Make sure to set the correct base-package -->
<context:component-scan base-package="br.com.meuprojeto" />
<!-- diretorio estatico do javascript -->
<mvc:resources mapping="/javascript/**" location="/resources/javascript/*" />
<!-- Sem isso definido, o spring nao encontra os conteudos estaticos
http://stackoverflow.com/questions/7939602/spring-mvc-http-get-requests-for-static-resources-are-handled-by-custom-servle -->
<mvc:default-servlet-handler />
Pronto, acho que com isso já dá pra ter uma ideia. Agora, pode-se usar:
@Controller - para os controllers
@Service - camada de serviço (a que chama o DAO)
@Repository - Dao
@Component - Para injeção básica, é só anotar e chamar ela na outra classe
E para chamar a classe anotada:
@Autowired
private UserDAO userDAO;
@Autowired
private MyTools myTools;
@Autowired
private MailService mailService;
@Override
public List<User> findAllUsers() {
return userDAO.findAllUsers();
}
Vê se isso te ajuda