Certifique-se de ter preparado seu ambiente conforme descrito nesse post : Java-spring-netbeans-72 .
Neste Post mostrarei como implementar um Bean que conterá uma chamada p/ uma interface de nome Message
1- Crie um novo projeto Java >> Java Application
![]() |
| Figura 01- Novo projeto Java |
![]() |
| Figura 02 - Nome do projeto e classe principal |
3- Adicione a Lib Spring criada no Post Java-spring-netbeans-72 :
![]() |
| Figura 03 - Propriedades do projeto |
![]() |
| Figura 04 - Clique em add Library e Adicione a lib Spring |
![]() |
| Figura 05 -Após selecionar a Lib , clique em OK |
![]() | |
|
![]() |
| Figura 07 -Nome doArquivo beans-definitions.xml , em folder clique em browse e escolha a pasta src |
![]() |
| Figura 08 - Tipo de Documento, escolha well-formed document |
![]() | |
|
conteúdo do arquivo beans-definitions.xml :
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean name="message1" class="springlesson01.HelloWorldMessage">
<property name="name" value="Mario Cezzare"></property>
</bean>
</beans>
Observe que o nome do nosso bean é : message1Observe que ao colocar esse endereço o NB fará o download dos arquivos de definição
![]() |
| Figura 10 - NB baixando os schemas |
public String getMessage();
Clique com o botão direito no projeto e escolha new>> java interface
![]() |
| Figura 11 - Nova Interface Java |
![]() | |
|
![]() |
| Figura 13 - adicione a função getMessage |
conteúdo do arquivo Message.java
package springlesson01;
public interface Message {
public String getMessage();
}
7 - Vamos criar a Classe HelloWorldMessage que implementará a interface Message
I) Clique com o botão direito no package springlesson01 e escolha new>> java class
![]() |
| Figura 14 - Nova classe java |
![]() |
| Figura 15 - Classe HelloWorldMessage |
package springlesson01;
public class HelloWorldMessage {
public String name;
}
III) Vamos aproveitar os recursos do NB e utilize o atalho PC(ctrl + i), MAC (command +i)
ou através do menu Source >> Insert code p/ gerar os Gets/Sets :
![]() |
| Figura 16 - Insert Code |
Clique na Classe HelloWorldMessage p/ selecionar o(s) atributo(s) name, e marque a opção Encapsulate fields, e Generate
![]() |
| Figura 17 - opções p/ gerar Get/Set |
IV) Observe que o encapsulamento da variável a tornou privada
![]() |
| Figura 18 - Código da classe HelloWorldMessage |
package springlesson01;
public class HelloWorldMessage {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
e precisamos que essa classe implemente a interface Message. Para isso adicione o texto implements Message após o nome da Classe. Veja que o NB reclamou.
![]() |
| Figura 19 - implementando a interface Message |
Isso acontece porque ao implementar uma interface, se nossa classe não for abstrata, precisamos implementar todos os métodos abstratos. Clique na lampada no nº da linha e escolha a opção implement all abstract methods.
![]() |
| Figura 20 - implementado os métodos abstratos |
E faremos com que o método getMessage retorne uma String "Hello" + o nome . Esta classe agora deve estar assim:
package springlesson01;
public class HelloWorldMessage implements Message{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String getMessage() {
return "Hello " + name;
}
}
V) Antes de mostrar o uso do bean e do Spring vamos corrigir um lapso, dei o nome de arquivo XML de bean-definitions.xml.xml
Clique com o botão direito no arquivo XML e escolha a opção Rename e altere p/
bean-definitions que o NB poe a extensão .xml no arquivo
![]() |
| Figura 21 - Correção do arquivo xml |
![]() | |
|
VI) Agora vamos colocar em nosso método main do programa, que está na classe springlesson01.SpringLesson01 a chamada p/ utilização do método getBean do nosso bean message1, através da instância de um objeto do tipo ClassPathXmlApplicationContext do Spring Framework que recebe como parâmetro um arquivo XML :
![]() |
| Figura 23 -Editando o método main do programa |
Clique duas vezes no arquivo SpringLesson01.java do package springlesson01 :
Adicione o seguinte código dentro do método main
ApplicationContext ctx= new ClassPathXmlApplicationContext("beans-defitions.xml");
Message message1 = (Message)ctx.getBean("message1");
System.out.println(message1.getMessage());
Neste momento, o arquivo completo deve estar assim :
package springlesson01;
public class SpringLesson01 {
public static void main(String[] args) {
ApplicationContext ctx= new ClassPathXmlApplicationContext("beans-definitions.xml");
Message message1 = (Message)ctx.getBean("message1");
System.out.println(message1.getMessage());
}
}
Porém o NB deve ter sublinhado a linha 9 apresentando um erro, isso acontece porque precisamos importar as classes do Spring que contém esses métodos e objetos.![]() |
| Figura 24 - Editando o método main |
Clique na lâmpada que aparece no nº da linha e escolha a sugestão de importar as 2 libs do spring org.springframework.context.ApplicationContext e org.springframework.context.support.ClassPathXmlApplicationContext
![]() |
| Figura 25 - Adicionando as classes do Spring |
e o arquivo deve ter ficado assim
package springlesson01;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringLesson01 {
public static void main(String[] args) {
ApplicationContext ctx= new ClassPathXmlApplicationContext("beans-definitions.xml");
Message message1 = (Message)ctx.getBean("message1");
System.out.println(message1.getMessage());
}
}
e pronto.Vamos rodar no projeto e ver se funcionou.
Clique no botão RUN (ícone de play) , ou no menu Run >> Run Project , e veja o resultado na aba output :![]() |
| Figura 26 - Resultado Final |
O resultado deve ser :
Hello Mario Cezzare
E assim concluímos nossa lição 01.
Resumo : o que foi feito ?
Utilizamos a classe ApplicationContext p/ gerenciar o contexto de nossa App. Informamos a ela que as definições dos serviços estão em um arquivo XML, através do objeto ClassPathXmlApplicationContext.
Implementamos uma interface Message através da classe HelloWorldMessage p/ retornar o conteúdo da propriedade name do nosso bean message1 através do método getMessage() da interface
Download do projeto NB
SpringLesson01
Dúvidas, Contribuições, Sugestões? Poste..
Grato,
Até a próxima.


























Nenhum comentário:
Postar um comentário