Série Spring: Hello World no Spring

 

olá Pessoal,

Estarei dando inicio a mais uma série aqui no blog e dessa vez é com o Spring framework. No post de hoje veremos como dar um Hello World usando o Spring, parece algo simples e fácil né? Mas, na verdade é. Porém, para quem nunca mexeu com Spring ainda pode achar que é complicado.

O Spring

Sem entrar na teoria pq o que não falta é fonte explicando o que é e pra que serve o framework. Eu digo sempre que o Spring é cara que nos ajuda a não fazer as coisas chatas e repetivas do dia-dia, que normalmente para o cliente não tem valor algum.

 Hello World

Vamos criar um java project, mas não esqueça de ir no site do Spring e baixar a versão mais recente. Estarei usando a versão 3.x.

Development

1. Crie um  java project

2. E os seguintes packages
springhelloworldpackage

3. Agora crie uma classe chamada SpringHelloWorld que terá um método o qual irá imprimir no console a mensagem

“Hello World Spring”.

package br.com.camilolopes.classes;

public class SpringHelloWorld {

                public void showHelloWorld(){

                               System.out.println(“Hello World Spring”);

                }}

4. No package conf  crie um arquivo XML , aqui chamei de springconfiguration.xml. E adicione o código a seguir ao arquivo:

<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  id=“hello” class=“br.com.camilolopes.classes.SpringHelloWorld”/>

</beans>

 

O cabeçalho temos  a configuração do Spring e a versão que estamos o usando. Mas, o essencial está na tag do bean. Ali estamos dizendo ao Spring para ele instanciar um objeto para a classe SpringHelloWorld, sendo assim  na aplicação podemos obter essa instância pelo id do bean e invocar qualquer método disponível da classe. Isso é o mesmo que fazemos

SpringHelloWorld variavelInstancia = new SpringHelloWorld();

Só que agora quem faz isso é o Spring e não nós mais. Veremos a seguir na prática o uso.

5. crie uma classe com o método main. Chamei a minha de Main.

package br.com.camilolopes.main;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext; 

import br.com.camilolopes.classes.SpringHelloWorld;

public class Main {

      public static void main(String[] args) {

//          essa classe é o container

ApplicationContext applicationContext = new ClassPathXmlApplicationContext(

                        “conf/springconfiguration.xml”);

            SpringHelloWorld bean = (SpringHelloWorld) applicationContext.getBean(“hello”);

            bean.showHelloWorld();      }}

 O ApplicationContext é o coração do Spring é através deles que vamos obter o que precisamos para trabalhar. Observe que informei para o ApplicationContext  onde está o arquivo de configuração do Spring que ele precisa se basear.Em seguida tem um .getBean e passei o id do bean que desejo, que é o id que declaramos no xml:

<bean  id=“hello” class=“br.com.camilolopes.classes.SpringHelloWorld”/>

 Ou seja, nesse momento o Spring já fez o new na classe por baixo dos panos, agora podemos fazer o que quiser com o objeto, nesse caso chamei  o único método existente e o resultado foi:

helloworldspringresult

 Simples assim!!. E isso é o básico do Spring.

GitHub

Acesse o repositório no github com todos os projetos da série Spring:  https://github.com/camilolopes/workspacespring

Vou ficando por aqui e espero que tenham gostado do post.

Abraços,

 

 

Review livro: Vire o Jogo com Spring Framework

Olá Pessoal,

 Mais um review de um livro aqui no blog. Dessa vez estava a procura de um livro para comprar aqui para o projeto e ver se era viável ser feito o investimento comprando alguns exemplares para aqueles que não conhecem o framework Spring. Como sempre, o objetivo é apresentar meu ponto de vista com relação ao livro com base no que procurava.

 Lets go…

Necessidade

 A necessidade que tinha era encontrar um livro que:

  • Explicasse Spring de maneira direta e prática sem muita frescura (os detalhes o desenvolvedor ia pegando no dia-dia);
  • Fosse em português (mesmo que fosse traduzido), pois nem todos desenvolvedores sabem inglês suficiente para ler um livro em um prazo curto;
  • Fosse mão na massa;
  • Não fosse maior ou igual que o melhor dos melhores Spring in Action 3rd.

Vire o Jogo com Spring Framework

 E foi daí que conheci o livro “Vire o Jogo com Spring framework” e decidi comprar apenas um exemplar e ver se realmente era um livro que poderia servir para um desenvolvedor aqui na equipe que estive precisando aprender Spring no menor tempo possível com qualidade e metendo mão na massa, mesmo que ele quebrasse muito a cabeça no inicio por não conhecer bem os detalhes, mas isso ele ia refinando no dia-dia. Pela descrição do livro, me parece que esse seria o mais indicado e ainda por cima não era tradução, o que eliminou meu risco daquelas traduções sofridas que já conhecemos. Feito, comprei um exemplo e comecei a leitura.

Meu Review

O livro está dividido em duas partes, onde o autor considera que a parte I é apenas os conceitos e a parte II seria mais mão na massa. Eu particularmente não vi diferença nenhuma, pois na parte II não há nada prático, exceto que durante a explicação há trechos de código apenas, mas nada que você tenha que fazer e terminar sozinho. A leitura em alguns pontos é confortável, outros momentos chatas e há trechos muito curtos, que não entendi a existência, se o motivo era só citar sem dar maiores informações. Há mais de um modo de escrita durante o livro, o autor começa bem informal, mas quando começa a tratar os assuntos muda um pouco a abordagem, deixando a leitura mais carregada e cansativa. Eu optaria por manter a mesma informalidade que tem no inicio do livro, dá uma sensação de diálogo que acho muito bom, fora que o uso de “palavras bonitas do português” para livros técnicos só atrapalha, e ser direto com o uso de palavras mais populares acho importante e  no livro não é bem assim em alguns capítulos.

Positivo

 – O livro aborda bem o conteúdo teórico do assunto, e se você tem uma limitação teórica ou não entende nada vai passar a dar uma clareada, porém acho que é informação demais para um iniciante ver em 11 capítulos com prática próximo de zero, mas a teoria eu gostei.

– É um livro pequeno e está bem estruturado. Há organização teórica dos assuntos e links com capítulos passados.

Negativo

 – Não é um livro mão na massa. Se você quer botar mão no código, fazer um exemplo mesmo, esquece! O livro não ajuda nisso.

 – Não percebi a utilidade do exemplo usado no livro, porque o leitor não desenvolve;

 – Não tem exercícios para colocar em prática o que acabou de ser visto no capítulo. Uma coisa é explicar pra que serve o Spring Security e como está estruturado, agora, vamos colocar na prática com um simples “hello spring security” pra ver se rola mesmo? Bem, não tem isso no livro.

 – Há capítulos com uma leitura muito cansativa e chata. Então se prepare para isso e tente superar para conseguir terminar o livro.

Quem pode ler o livro?

Depende do objetivo do leitor. Se este precisa entender o Spring framework e outros módulos Spring, eu indicaria o livro, mas assim, entender na teoria. Mas se você me diz que quer um livro pra ir entendendo os conceitos gradualmente e já ir metendo mão no código fazendo uma aplicação subir com Spring, eu diria que este não é o livro indicado.

Conclusão 

Enfim, a minha expectativa com o livro não foi atingida de maneira prática. Poderia apostar todas minhas fichas que seria um livro prático para iniciantes de verdade com o Spring e poderia adotar aqui no projeto para estagiários, programadores jrs que não conhecem ainda o framework e pudesse levar um exemplar e passar algumas semanas brincado. Porém, na prática não é bem assim, mas ainda indicaria o livro para quem quer entender todo o mundo Spring de maneira teórica.

Vou ficando por aqui…

 Abraços, see ya!!!

Novo curso: Desenvolvimento de Aplicações JEE Utilizando Frameworks

olá Pessoal, 
 
O post de hoje tem como objetivo apresentar para vocês um novo curso que lançei recentemente pelo IMasterPro. O objetivo é para aqueles iniciantes no mundo JEE  usando frameworks possam ter a oportunidade de colocar mão na massa usando aqueles frameworks que mais ouvimos no dia-dia tais como “Hibernate, JSF, SpringSecurity etc”. A seguir apresento um pouco sobre o curso.
 
Lets go.. 
 
 
Sobre Curso 
 
O curso tem como objetivo de ser prático com exercícios e explicações mão na massa, pois acredito que só aprende praticando, afinal de contas você não vai aprender a dirigir se ler um manual de como dirigir ou apenas como dar partida no carro, isso não é o suficiente para você falar que sabe dirigir, é preciso praticar dia-dia para se tornar um melhor motorista, foi com esse conceito que o criei o curso. 
 
 
O que veremos? 
 
Ahh coloquei um pouco de tudo, Hibernate, SpringSecurity, JSF, Mysql 5.x etc. Vamos misturando um pouco daqui e dali, criando pequenas aplicações e evoluindo a cada aula o aprendizado.
 
O que NÃO é o objetivo do curso 
 
Este não tem como objetivo torná-lo especialista em cada framework, até porque é impossível se tornar especialista em tantas tecnologias em algumas horas apenas. Não tenha essa expectativa. A idéia aqui é para quem quer sair do 0x0.
 
Publico Alvo
Eu digo que é iniciante no mundo JEE e não iniciantes em Java. Se você é iniciante no mundo Java, favor não faça o investimento agora.  Na página do curso eu falo dos requisitos esperados que tenha antes de fazer o investimento.
Mais detalhes do curso
 
Vou ficando por aqui… 
 
abracos, see ya!!!!

Review Livro “Spring Persistence with Hibernate”

Olá Pessoal,

No post de hoje vou falar o que achei sobre o livro “Spring Persistence with Hibernate”. Apesar de ter comprado no inicio do ano, eu não tinha lido ainda. Sempre gosto de ter mais de 1 livro sobre o mesmo assunto, assim consigo comparar abordagens diferentes e sempre consigo aprender algo novo. Em breve farei um review do livro “Sprint in action third edition”... já tá na fila.

Review Geral

Primeiramente o livro é bem pequeno, são apenas 11 capítulos, totalizando 235 páginas, sendo os dois últimos opcionais a leitura. Os capítulos não são grandes, isso ajuda a não ser tão cansativo, possibilitando terminar a leitura quando temos pouco tempo pra ler. Exceto 1 ou 2 capítulos que foram longos e acho que os autores poderiam ter quebrado. A escrita é confortável e a linguagem usada também. Há uns pontos informais e outros formais, mas não vi nada de especial no formato adotado.

A Teoria

Realmente aqui os autores dão um show em boa parte do livro. São poucas que ficam a desejar, onde percebemos que faltou algo, mas na maioria eles explicam sempre os detalhes do assunto, falam o porquê das coisas, porém tem que tomar cuidado, pois há tópicos que eles se perdem ou se aprofundam demais e que você se pergunta: “do que ele tá falando agora? Qual relação com o que ele falou no tópico anterior?”.

Mas gostei muito da forma que eles explicam com detalhes o assunto.

A parte Prática

Essa aqui ficou a desejar (e muito). Infelizmente o livro não tem nada de prático. Você não consegue apenas com o livro terminar um capítulo e colocar mão na massa sobre o que ele acabou de explicar. E pior, os autores nem motivam e nem prepararm o livro para isso. Muita coisa quando li tive que ir nas referências do Spring para entender ou pesquisar no google. No inicio do livro eles falam de uma aplicação que vai servir de exemplo, mas só tem trechos do código que por cima confunde mais do que ajuda em boa parte. Enfim, se você espera colocar a mão na massa após ler os capítulos, esqueça, porque o livro não oferece isso. Achei muito ruim e estranho isso para um livro de programação.

Conclusão

Eu não recomendaria o livro para quem é iniciante com Spring ou Hibernate (ou quem for iniciante nos dos dois), pois no final, de forma prática você não aprende nada. Teoricamente pode até saber como funciona, mas na hora que abrir o eclipse você vai se perguntar: e agora, o que faço? Por onde começo?

Bom pessoal, esse é meu review sobre o livro “Spring Persistence with Hibernate”. Espero que tenham gostado. Mandei um email para um dos autores dando meu feedback com as mesmas informações acima. Até o momento não obtive retorno. Em breve postarei mais review aqui no blog.

Abracos,

See ya!!

Pré-Lançamento Guia JEE com Frameworks

Olá Pessoal,

Depois de um periodo off, estou de volta nesse inverno do Rio Grande do Sul, que é de matar, qualquer um. O post de hoje é diferente, é sobre o meu próximo filhão hehe. Recebi alguns twitters, da galera com curiosidade de saber do que seria, mas como não tinha a capa final, não adiantava eu postar aqui, como ficou pronta ontem, lá vai o PRÉ-LANÇAMENTO, nas próximas semanas já teremos os exemplares nas melhores livrarias. A seguir falo um pouco sobre o livro, para quem já conhece meu trabalho sabe que eles nascem com base é alguma experiência,necessidade que tive e não encontrei (como foi o Guia do Exame SCJP) daí teve que rolar o “made by Camilo Lopes” :). Não posso deixar de agradecer o apoio do DFJUG em adotar o livro  para sua biblioteca. Agradeço em especial ao Daniel Oliveira presidente da comunidade.

Livro JEE com Frameworks como tudo começou

O projeto nasceu, devido a dificuldade que tive na época dos meus estudos de encontrar em um único livro que abordasse de forma pratica os frameworks mais usados no mercado que consequentemente são aqueles que em qualquer entrevista de emprego o entrevistador vai perguntar:

  • conhece Hibernate, Spring, JSF, Annotations etc?

Não é isso que acontece? Eu passei por isso, e não foram poucas vezes, e o pior de tudo, que eu sabia 1, mas não conhecia os outros três, pois normalmente o conhecimento triangular em frameworks em algumas vagas é o que o entrevistador precisa, porém como muitos estão passando ou já passaram por uma situação de ser 3×1 para empresa, ou seja, você conhece só, mas os demais fica naquela, eu sei um pouco mais posso aprender. Porém, sabemos da realidade que são poucas empresas que se arriscam nesse “eu posso aprender” e o jeito do cara que está correndo atras é ir aprender por contra própria, caso não ele não seja aceito. Isso não é o fim do mundo, é um ciclo do mercado e cada organização tem uma política interna, e temos que respeitar(na época não acreditava nisso, mas aprendi com o tempo).

Com um pouco de revolta na época, de ter comprado 3,4,5 livros diferentes para aprender cada framework, e ainda não tinha um que conecta de bem de forma o uso dos frameworks em conjunto e eu tinha que ir montando a cabeça, gastando mais tempo que o necessário, pois no inicio nem tudo são flores. Partindo desse contexto, pensei, bem que eu deveria escrever um livro, pois acredito que há alguém passando e tendo as mesmas dificuldades que tive, e não aguenta mais comprar na amazon.com para esse fim. Ahh claro, há muitos artigos, posts de blogs na internet que ajudam. Mas, um artigo, sempre será um artigo e não tem como objetivo substituir um livro, assim como um post não tem como foco substituir um livro, cada macaco no seu galho.Enfim, partindo do problema de ter um livro para cada framework que eu precisasse aprender, o qual achava ruim, na verdade péssimo, até porque no inicio eu precisava, aprender o ABC, o sufuciente para fazer uma boa integração e partindo desse ABC eu posso ir aprofundando aos poucos e a medida que novos desafios vão surgindo vou aprendendo, e não querer ver tudo de uma vez( não dar para colocar um JavaDoc na cabeça, ou dar?), é assim que aprendemos na escola o ABC primeiro, não é verdade? Mas, a notícia que tive era ruim, não encontrei nada e tive que ir escavando usando uma par e fazendo as devidas anotações, depois começava a juntar o quebra cabeça, errava mais do que acertava, mas aprendia com os erros, mas a dor sempre é grande. E assim nasceu naturalmente, o Guia JEE com Frameworks.

O objetivo

O objetivo é muito simples. Guiar o leitor de forma prática desenvolver aplicações Java/JEE usando os frameworks mais requisitados no mercado. Ao final do livro acreditamos que o leitor já seja capaz de trabalhar de forma segura com o que foi abordado.

O que vou ver no livro?

Você vai ver como usar o Hibernate, JSF, SpringSecurity nas suas aplicações JEE, no inicio do livro considero que o leitor é leigo e vamos trabalhando com Java Application, e logo em seguida migramos de forma confortável para JEE, mantendo o uso do já foi aprendido e ampliando. Há exercícios praticos que é chamado de “Trabalho do dia” não é nada de fazer algo como 2+2 e sim praticar o que já foi visto e que motive o leitor ir só um pouco além e consultar API do framework para buscar as respostas. O motivo, é simular a vida real de todo desenvolvedor, buscar resolver os problemas da melhor forma possível usando ferramentas core de durante DEV.

O não vou ver no livro?

  • Não queira sair do livro, um especialista nos frameworks abordado, o foco é colocar você nos trilhos da melhor forma possível.

  • Não queira aprender Java, Servlet, JSP, este não é o objetivo, e vou considerar que o leitor já conheça Java e Servlet & JSP;

Quem pode ler?

Se você já viu um pouco de Servlet & JSP e se sente perdido para onde ir em JEE, com tantos frameworks, mas sem saber direito o que cada um faz e qual a melhor forma de aprender cada um em uma determinada ordem, este livro é para você.

A escrita

Bem, quem já conhece meus livros, sabe que uso uma linguagem informal e pratica, além disso coloco dentro dos codes explicações in line, por acreditar que explicando no “olho do furação” pode trazer efeitos de fixação melhor para o leitor. Nesse eu busquei evitar códigos quebrando entre as paginas e fiz um bom esforço de colocar o máximo possível em uma única página, há codes que diminui um pouco a fonte respeitando a legibilidade, somente para manter todo code possível em uma única página, claro que há codes que não dar. Para alguns que já foram aprensentados, foram omitidos os trechos e apenas o code novo é visto. Mas, não se preocupe que eu aviso quando isso acontece.

O livro não substitui um outro livro que abordar por completo um dos frameworks abordados aqui, até porque não temos esse foco, então se você deseja ver tópicos mais avançados, terá que dar uma olhada na documentação ou buscar livros mais especializamos, porém o que você aprender aqui é o que servirá para se tornar um Advanced-X.

Ganhe um exemplar

Se você quiser concorrer à um exemplar que será sorteado no dia do lançamento faço o seu cadastro no form abaixo e Re-Twitter, quanto mais você RT, mas chances de ganhar.

Faça sua inscrição

“Pré-Lançamento do Livro Guia JEE c/ frameworks @RT: @camilolope #JEE #frameworks.

https://blog.camilolopes.com.br/pre-lancamento-guia-jee-com-frameworks/” (use um encurtador de url de sua preferencia )

Vou ficando por aqui, espero que tenham gostado do post. see ya!

Abracos,

Você vai ver como usar o Hibernate, JSF, SpringSecurity nas suas aplicações JEE, no inicio do livro considero que o leitor é leigo e vamos trabalhando com Java Application, e logo em seguida migramos de forma confortável para JEE, mantendo o uso do já foi aprendido e ampliando. Há exercícios praticos que é chamado de “Trabalho do dia” não é nada de fazer algo como 2+2 e sim praticar o que já foi visto e que motive o leitor ir só um pouco além e consultar API do framework para buscar as respostas. O motivo, é simular a vida real de todo desenvolvedor, buscar resolver os problemas da melhor forma possível usando ferramentas core de durante DEV.

 

O não vou ver no livro?

  • Não queira sair do livro, um especialista nos frameworks abordado, o foco é colocar você nos trilhos da melhor forma possível.

  • Não queira aprender Java, Servlet, JSP, este não é o objetivo, e vou considerar que o leitor já conheça Java e Servlet & JSP;

 

Quem pode ler?

Se você já viu um pouco de Servlet & JSP e se sente perdido para onde ir em JEE, com tantos frameworks, mas sem saber direito o que cada um faz e qual a melhor forma de aprender cada um em uma determinada ordem, este livro é para você.

 

 

A escrita

Bem, quem já conhece meus livros, sabe que uso uma linguagem informal e pratica, além disso coloco dentro dos codes explicações in line, por acreditar que explicando no “olho do furação” pode trazer efeitos de fixação melhor para o leitor. Nesse eu busquei evitar códigos quebrando entre as paginas e fiz um bom esforço de colocar o máximo possível em uma única página, há codes que diminui um pouco a fonte respeitando a legibilidade, somente para manter todo code possível em uma única página, claro que há codes que não dar. Para alguns que já foram aprensentados, foram omitidos os trechos e apenas o code novo é visto. Mas, não se preocupe que eu aviso quando isso acontece.

 

O livro não substitui um outro livro que abordar por completo um dos frameworks abordados aqui, até porque não temos esse foco, então se você deseja ver tópicos mais avançados, terá que dar uma olhada na documentação ou buscar livros mais especializamos, porém o que você aprender aqui é o que servirá para se tornar um Advanced-X.

 

Se você quiser concorrer à um exemplar que será sorteado no dia do lançamento faço o seu cadastro no form abaixo e Re-Twitter, quanto mais você RT, mas chances de ganhar.

 

Pré-Lançamento do Livro Guia JEE c/ frameworks @RT: @camilolope #JEE #frameworks.

<link>

 

Vou ficando por aqui, espero que tenham gostado do post.

 

Abracos,