Semana passada participei de um treinamento de 8h sobre o Spring.
Pra quem não sabe Spring é um frame work de injeção de dependências.
Para que serve, quando usar, se funciona... não me pergunte :P veja você mesmo e teste sobre suas necessidades.
O que eu posso dizer sobre o pouquíssimo que sei até agora é que é bem legal o negócio além de o Spring ter também uma parte que cuida do MVC da aplicação (mas não é necessário usá-lo, você pode desenvolver usando Struts, WebWork, JSF e usá-lo onde for cabível).
Bom, só pra dar um exemplo de uso (útil barbaridade!!! :P):
Uma classe normal:
package estudo.springframework;
public class BeanNormal {
private String mensagem = "Essa é a mensagem padrão.";
public String getMensagem() {
return mensagem;
}
public void setMensagem(String mensagem) {
this.mensagem = mensagem;
}
public BeanNormal(String mensagem) {
super();
this.mensagem = mensagem;
}
public BeanNormal() {
super();
}
}
public class InjetaDependencia {
public static void main (String[] args) {
BeanNormal b0 = new BeanNormal();
System.out.println(b0.getMensagem());
}
}
Bem, agora com o uso do Spring vamos mudar o valor do atributo mensagem injetando um valor em usar o método setMensagem(Srtrin mensagem) da classe:
package estudo.springframework;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
public class InjetaDependencia {
public static void main (String[] args) {
BeanNormal b0 = new BeanNormal();
System.out.println(b0.getMensagem());
final BeanFactory bf = new XmlBeanFactory(
new ClassPathResource("/beannormal.xml"));
final BeanNormal b1 =
(BeanNormal) bf.getBean("beannormal");
System.out.println(b1.getMensagem());
}
}
A saída no primeiro caso seria:
Essa é a mensagem padrão.
Depois que usamos o Spring o que ele faz é injetar alguma coisa em tempo de execução em algum lugar, nossa que definição profunda!
A saída depois que mudamos o código será:
Essa é a mensagem padrão.
Valor injetado pelo Spring ;-)
Bom não me peçam mais do que isso, porque o curso que fiz não passou disto :P e foi muito blablabla pra pouca ação para o meu (humilde) gosto que gosto de aprender com a mão na massa e não vendo slides e tal... mas daqui a uns dias eu posto algo que preste pois vou usá-lo com certeza no meu projeto junto com Hibernate e JSF.
Quem quizer baixar os fontes:
http://geocities.yahoo.com.br/sadbuttruebr/blog/
exemplos_java/BeanNormal.java
http://geocities.yahoo.com.br/sadbuttruebr/blog/
exemplos_java/InjetaDependencia.java
http://br.geocities.com/sadbuttruebr/blog/
exemplos_java/beannormal.xml
Até a próxima e comentem aí!
Nenhum comentário:
Postar um comentário