Spring injeção de depêndencia

Olá gujeiros,

Estou utilizando o Spring para fazer injeçao de dependencias, como tinha estudado em tutoriais, a gente utiliza um método main aonde pega o contexto e seta o id do bean com o método getBean para acessar a classe no applicationContext.xml … blz, como no meu trabalho que estou fazendo não teremos que criar o método main, então acabei criando os listeners no arquivo web.xml e carreguei o arquivo applicationContext.xml também dentro do web.xml… agora é que vem a pergunta, como faço para criar o contexto ou esse contexto já é criado, como eu acesso o id do bean que antés era pelo método getBean()?!

abraço,

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[code]Spring MVC Application

<!-- 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>[/code] mvc-dispatcher-servlet.xml [code]	<!-- 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/*" />

<mvc:default-servlet-handler />[/code] 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:

[code] @Autowired
private UserDAO userDAO;

@Autowired
private MyTools myTools;

@Autowired
private MailService mailService;

@Override
public List<User> findAllUsers() {
	return userDAO.findAllUsers();
}[/code] Vê se isso te ajuda

A versão do Spring é a: 2.0.8 não tem annotations :frowning: … eu não teria que usar o WebXmlApplicationContext?!

freak, eu acho que o seu WebXmlApplicationContext é o meu mvc-dispatcher-servlet.xml

Eu poderia colocar qualquer nome nele, pra falar a verdade o padrão do nome desse arquivo é applicationContext ou springAlgumaCoisa, o importante é referenciar ele no web.xml

Qualquer coisa me manda mensagem privada que te passo um projetinho bala aqui que sobe em dois minutos no Eclipse (Maven required)