Mostrando postagens com marcador SPRING. Mostrar todas as postagens

terça-feira, 31 de janeiro de 2017

Spring MVC sem uso de XML

Fala galera!

Após um período de férias do blog (bem longo por sinal rsrsrs), convido vocês a acompanhar este post, que já faz um bom tempo que queria fazer. Mas agora com o tempo oportuno estou deixando com vocês. Bom, vamos lá!

Spring MVC sem uso de XML


Quando comecei a estudar programação utilizando a linguagem Java, fiquei muito empolgado, pois antes só havia programado utilizando as linguagens C e C++. Confesso que as facilidades que a linguagem proporcionava eram extremamente animadoras - e ainda são.

Porém, com o passar do tempo, percebi que existem alguns frameworks como o Spring, que exigem a configuração utilizando arquivos xml. Era até interessante no começo, mas de acordo que precisava iniciar projetos novos em alguns trabalhos freelancer, vi que estava ficando chato essas configurações.

Bem, com esses "problemas" em mãos resolvi fazer uma pesquisa e encontrei alguns sites que ensinam como organizar seu projeto utilizando o Spring sem o uso de xml. Então, vamos ao código.

Utilizarei o IDE Eclipse Luna com o Spring 4.3.5.

Vamos criar um novo projeto web e configurá-lo para o uso do Maven, onde adicionaremos as seguintes dependências:

        <properties>
  <!-- spring version -->
  <spring.version>4.3.5.RELEASE</spring.version>
 </properties>
 <dependencies>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-core</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-web</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
   <version>${spring.version}</version>
  </dependency>
 </dependencies>

Agora, no pacote com.deviscoming.config, vamos criar a classe de configuração que será equivalente ao web.xml. Analise o código:


@Configuration
@EnableWebMvc
@ComponentScan(basePackages = {"com.deviscoming"})
public class AppConfig extends WebMvcConfigurerAdapter{
 
 @Bean
 public ViewResolver internalResourceViewResolver(){
  InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
  viewResolver.setPrefix("/WEB-INF/views/");
  viewResolver.setSuffix(".jsp");
  return viewResolver;
 }

}


@Configuration: esta annotation informa ao Spring que a nossa classe AppConfig será a classe de configuração do projeto;

@EnableWebMVC: aqui informamos ao Spring que vamos usar o Spring MVC;

@ComponentScan: para não precisarmos criar nossos beans, o Spring nos fornece esta annotation para fazer todo este trabalho para nós :). Na propriedade basePackges é informado qual pacote do projeto será escaneado pelo Spring. 

Lembram daquele trecho de código que existia no DispatcheServlet?


<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
 <property name="prefix" value="/WEB-INF/views/" />
 <property name="suffix" value=".jsp" />
</bean>

Pois bem, adicionaremos em nossa classe conforme abaixo:

@Bean public InternalResourceViewResolver internalResourceViewResolver(){
  InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
  viewResolver.setPrefix("/WEB-INF/views/");
  viewResolver.setSuffix(".jsp");
       return viewResolver;
}


A classe InternalResourceViewResolver mostra ao Spring onde estão nossas páginas, então instanciamos a classe e 'setamos' o prefixo e sefixo usando os métodos setPrefix() e setSuffix().

Beleza, já temos a primeira classe para executar nosso projeto. Vamos agora criar outra classe no mesmo pacote da AppConfig e nomearemos de WebAppInitializer. Confira abaixo:


public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{

 @Override
 protected Class[] getRootConfigClasses() {
  return null;
 }

 @Override
 protected Class[] getServletConfigClasses() {
  return new Class[] {AppConfig.class};
 }

 @Override
 protected String[] getServletMappings() {
  return new String[]{"/"};
 }
 
}

Depois estendemos a classe AbstractAnnotationConfigDispatcherServletInitializer e implementamos seus métodos. 

Preste atenção nos métodos getServletConfigClasses() e getServletMappings(). O primeiro você deve informar a classe de configuração, no nosso caso AppConfig.


Pronto! pode executar seu projeto que ele irá funcionar perfeitamente.

É isso aí pessoal, até mais!

;)

segunda-feira, 18 de julho de 2016

GO GO! 1º Oficina de Spring Framework

Fala galera que acompanha o blog...

Estamos anunciando aqui mais um evento super interessante que a Algaworks vai promover. O evento acontecerá entre os dias 01/08 à 10/08 e o o assunto será Spring Framework. Serão videoaulas, online e grátis! 

GO GO! 1º Oficina de Spring Framework


Mas, para participar você precisa preencher um cadastro, informando seu nome e email para garantir a vaga nos dias do evento.

Como vai funcionar essas videoaulas e o que você precisa saber:
  • Será apresentado a arquitetura de um projeto com Spring Framework, Thymeleaf, JPA, Bootstrap, JavaScript e outros;
  • Desenvolvimento de um projeto do 0 com os instrutores;
  • Troca de ideias com a comunidade, perguntar e respostas...
  • Será possível realizar o download do código fonte, mas pessoal nem por isso deixem de participar, esperando apenas o fonte ao final do evento hein!
  • Livreto digital gratuito sobre Spring.
O evento será ministrado pelo instrutor Normandes Junior, sócio e instrutor da AlgaWorks. detentor das certificações LPIC-1, SCJP e SCWCD. Palestrante internacional, autor e co-autor de vários livros e instrutor de diversos cursos.

É isso pessoal, o evento tem alguns dias ainda pra acontecer, mas faça já sua inscrição, garanta o seu lugar e bom aprendizado a todos.

Não deixe de compartilhar com seus amigos...
Até a próxima!

domingo, 17 de abril de 2016

Primeiros passos com Spring MVC

A empresa Algaworks, localizada em Uberlândia, Minas Gerais, que trabalha desde 2004 com cursos de desenvolvimento de software, está disponibilizando um livreto digital gratuito que ensina primeiros passos sobre Spring MVC.

Primeiros passos com Spring MVC


O que você vai aprender nesse livreto:

1. Introdução

2. O Spring
2.1. Introdução
2.2. Spring vs Java EE
2.3. O Spring Boot
2.4. O Spring MVC
2.5. O Thymeleaf
2.6. O Maven
2.7. O Spring Tool Suite - STS

3. O projeto de gestão de convidados
3.1. Funcionamento
3.2. Criando o projeto no STS
3.3. Criando o controller
3.4. Criando a página
3.5. Rodando o projeto pela primeira vez
3.6. Repositório de convidados
3.7. Enviando um objeto do Controller à View
3.8. Listando objetos com o Thymeleaf
3.9. Adicionando um convidado

4. Conclusão
4.1. Próximos passos

Gostou? Então acesse o site, preencha seu e-mail e abrace essa oportunidade.

Bons estudos e até a próxima!