<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Softwares para Automação Comercial e Desenvolvimento de Software Personalizado &#187; Spring</title>
	<atom:link href="http://www.flexdev.com.br/home/category/spring/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flexdev.com.br/home</link>
	<description>Softwares para Automação Comercial</description>
	<lastBuildDate>Tue, 21 Jun 2011 00:35:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Java + MongoDB + Spring Data</title>
		<link>http://www.flexdev.com.br/home/java-mongodb-spring-data/</link>
		<comments>http://www.flexdev.com.br/home/java-mongodb-spring-data/#comments</comments>
		<pubDate>Tue, 31 May 2011 14:12:04 +0000</pubDate>
		<dc:creator>fabio.silva</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://www.flexdev.com.br/home/?p=371</guid>
		<description><![CDATA[TweetTweetOlá. A alguns dias escrevi um post sobre PHP + MongoDB e recebi um feedback muito positivo então resolvi repetir a dose e mostrar um pouco da integração entre Java e MongoDB. Na minha opinião essa é uma das principais vantagens do MongoDB em relação a outros bancos de dados NoSQL, O MongoDB e extremamente [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.flexdev.com.br/home/java-mongodb-spring-data/&via=flexdevbr&text=Java + MongoDB + Spring Data&related=FlexDev:FlexDev&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.flexdev.com.br/home/java-mongodb-spring-data/&via=flexdevbr&text=Java + MongoDB + Spring Data&related=FlexDev:FlexDev&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>Olá.</p>
<p>A alguns dias escrevi um post sobre <a href="http://www.flexria.com.br/home/?p=556">PHP + MongoDB</a> e recebi um feedback muito positivo<br />
então resolvi repetir a dose e mostrar um pouco da integração entre Java e MongoDB.</p>
<p>Na minha opinião essa é uma das principais vantagens do  MongoDB em relação a outros bancos de dados NoSQL,<br />
O MongoDB e extremamente fácil de se integrar com a maioria das linguagens. </p>
<div>
<img src="http://www.flexria.com.br/home/wp-content/uploads/2011/04/logo-mongoDB.png"><img src="http://www.flexria.com.br/home/wp-content/uploads/2011/05/spring.png"></img>
</div>
<p>Neste Post vou falar um pouco sobre o MongoDB e a integração com o java utilizando o Spring Data.<br />
O MongoDB fornece o mongo-java-driver que atualmente esta na versão 2.6.X é uma API completa para acessar o MongoDB.<br />
O Spring Data é um projeto recente, lançado em 2010, ele oferecer suporte a novas tecnologias não relacionais, suporte a extensões específicas a bancos de dados relacionais. Spring Data trabalha como uma camada intermediária entre seus POJOs e o MongoDB.</p>
<p>Nesse exemplo estou usando o maven para gerencias as dependências do projeto<br />
Então alem das dependências habituais do projeto: Spring, JUnit e etc.. vamos precisar adiciona ao pow.xml as dependências do MongoDB e Spring Data</p>
<p><b>pow.xml</b><br />
<a href="http://www.flexdev.com.br/home/wp-content/uploads/2011/05/pow.png"><img src="http://www.flexdev.com.br/home/wp-content/uploads/2011/05/pow.png" alt="" /></a></p>
<p>Feito isso as dependências do projeto estão configuradas e podemos partir para a configuração do spring.<br />
A configuração é bem simples, nesse exemplo existem apenas 2 beans que configuram o MongoDB e Spring Data <b>mongoTemplate</b> e <b>mongo</b></p>
<p><b>applicationContext.xml</b><br />
<a href="http://www.flexdev.com.br/home/wp-content/uploads/2011/05/app-context.png"><img src="http://www.flexdev.com.br/home/wp-content/uploads/2011/05/app-context.png" alt="" /></a></p>
<p>O Spring Data oferece uma serie de anotações que permitem mapear o POJO de forma bem similar ao Hibernate/JPA<br />
<b>Contact.java</b></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">&nbsp;
@<span style="color: #003399;">Document</span><span style="color: #009900;">&#40;</span>collection<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;contacts&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Contact <span style="color: #009900;">&#123;</span>
    @Id
    <span style="color: #000000; font-weight: bold;">private</span> ObjectId id<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> name<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> email<span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">//getter and setter methods </span>
  ...
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>E é através do <b>mongoTemplate</b> que vamos interagir com o MongoDB por exemplo :</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">&nbsp;
@Autowired
MongoTemplate template<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// insere um novo registro		</span>
template.<span style="color: #006633;">insert</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;contacts&quot;</span>, contact<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// insere/altera um registro</span>
template.<span style="color: #006633;">save</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;contacts&quot;</span>, contact<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// remove um registro</span>
template.<span style="color: #006633;">remove</span><span style="color: #009900;">&#40;</span>contact<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// lista todos os registros</span>
<span style="color: #003399;">List</span> list <span style="color: #339933;">=</span> template.<span style="color: #006633;">getCollection</span><span style="color: #009900;">&#40;</span>collectionName, Contact.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Apesar do Spring Data suportar o JPA repository fiz uma implementação genérica para um repositório usando o Spring Data.</p>
<p><strong>GenericRepositoryWithMongo.java</strong> &#8211; Repositório genérico</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">abstract</span> <span style="color: #000000; font-weight: bold;">class</span> GenericRepositoryWithMongo <span style="color: #009900;">&#123;</span>
&nbsp;
  @Autowired
  <span style="color: #000000; font-weight: bold;">protected</span> MongoTemplate template<span style="color: #339933;">;</span>
  <span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000000; font-weight: bold;">Class</span> targetClass<span style="color: #339933;">;</span>
  <span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #003399;">String</span> collectionName<span style="color: #339933;">;</span>
&nbsp;
  @SuppressWarnings<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;unchecked&quot;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #000000; font-weight: bold;">public</span> GenericRepositoryWithMongo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">targetClass</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">Class</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>ParameterizedType<span style="color: #009900;">&#41;</span> getClass<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getGenericSuperclass</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getActualTypeArguments</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  @PostConstruct
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> initCollection<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">targetClass</span>.<span style="color: #006633;">isAnnotationPresent</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Document</span>.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      <span style="color: #003399;">Document</span> document   <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">targetClass</span>.<span style="color: #006633;">getAnnotation</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Document</span>.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">collectionName</span> <span style="color: #339933;">=</span> document.<span style="color: #006633;">collection</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">collectionName</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">targetClass</span>.<span style="color: #006633;">getSimpleName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toLowerCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">List</span> getCollection<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">return</span> template.<span style="color: #006633;">getCollection</span><span style="color: #009900;">&#40;</span>collectionName, targetClass<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> persist<span style="color: #009900;">&#40;</span>T entity<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    template.<span style="color: #006633;">insert</span><span style="color: #009900;">&#40;</span>collectionName, entity<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> merge<span style="color: #009900;">&#40;</span>T entity<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    template.<span style="color: #006633;">save</span><span style="color: #009900;">&#40;</span>collectionName, entity<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> remove<span style="color: #009900;">&#40;</span>T entity<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    template.<span style="color: #006633;">remove</span><span style="color: #009900;">&#40;</span>entity<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">List</span> findAll<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">return</span> getCollection<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">long</span> count<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">return</span> getCollection<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>E então a interface do repositório e sua implementação</p>
<p><strong>ContactRepository.java</strong> &#8211; Repositório de contatos</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">interface</span> ContactRepository <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> Contact findByEmail<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> email<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> persist<span style="color: #009900;">&#40;</span>Contact entity<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> merge<span style="color: #009900;">&#40;</span>Contact entity<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> remove<span style="color: #009900;">&#40;</span>Contact entity<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">List</span> findAll<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>ContactRepositoryImpl.java</strong> &#8211; Implementação do repositório de contatos</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">@Service<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;contactRepository&quot;</span><span style="color: #009900;">&#41;</span>
@<span style="color: #003399;">Repository</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ContactRepositoryImpl <span style="color: #000000; font-weight: bold;">extends</span> GenericRepositoryWithMongo <span style="color: #000000; font-weight: bold;">implements</span> ContactRepository<span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> Contact findByEmail<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> email<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	   Criteria criteria	 <span style="color: #339933;">=</span> Criteria.<span style="color: #006633;">where</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;email&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">is</span><span style="color: #009900;">&#40;</span>email<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	   Query query 	         <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Query<span style="color: #009900;">&#40;</span>criteria<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	   <span style="color: #000000; font-weight: bold;">return</span> template.<span style="color: #006633;">findOne</span><span style="color: #009900;">&#40;</span>query, targetClass<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>	
<span style="color: #009900;">&#125;</span></pre></div></div>

<blockquote>
<p>Realmente me surpreendi com a facilidade da integração usando o Spring Data<br />
é um exemplo bem simples da integração porem mais da o caminho das pedras para quem esta se aventurando no mundo NoSQL.<br />
Espero que seja util..</p>
<p>Para quem tiver o interesse deixei app no git<br />
<a href="https://github.com/FabioBatSilva/spring-mongodb" target="_blank">https://github.com/FabioBatSilva/spring-mongodb</a></p>
<p>Abraço e até a próxima…. </p>
</blockquote>
<p><a href="http://www.flexria.com.br/home/?p=728" target="_blank">Click aqui para ver o post Original</a><br />
<img style="width: 94px;height: 94px" src="http://www.flexria.com.br/home/wp-content/uploads/2009/08/Eu-150x150.jpg" alt="Fábio B. Silva" width="80" height="80" /><br />
<a href="http://www.flexria.com.br/home/?page_id=2" target="_blank">Fabio B. Silva</a><br />
<a href="http://www.flexria.com.br/home/" target="_blank">http://www.flexria.com.br</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdev.com.br/home/java-mongodb-spring-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Artigo Flex+BlazeDS+Spring+Hibernate</title>
		<link>http://www.flexdev.com.br/home/artigo-flexblazedsspringhibernate/</link>
		<comments>http://www.flexdev.com.br/home/artigo-flexblazedsspringhibernate/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 10:43:47 +0000</pubDate>
		<dc:creator>Ebercom</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Artigo Flex]]></category>
		<category><![CDATA[BlazeDS]]></category>
		<category><![CDATA[exemplo]]></category>

		<guid isPermaLink="false">http://blog.flexdev.com.br/artigo-flexblazedsspringhibernate/</guid>
		<description><![CDATA[TweetTweetE ae pessoal&#8230; Gostaria de registrar aqui uma dica para todos que estão a procura de material para estudarem sobre Flex, BlazeDS, Spring e Hibernate. O nosso amigo Rodrigo disponibilizou dois artigos interessantíssimos sobre o assunto. O Ministério da saúde adverte: Não ler esses artigos pode lhe acarretar sérias dores de cabeça se tentar reinventar [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.flexdev.com.br/home/artigo-flexblazedsspringhibernate/&via=flexdevbr&text=Artigo Flex+BlazeDS+Spring+Hibernate&related=FlexDev:FlexDev&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.flexdev.com.br/home/artigo-flexblazedsspringhibernate/&via=flexdevbr&text=Artigo Flex+BlazeDS+Spring+Hibernate&related=FlexDev:FlexDev&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>E ae pessoal&#8230;</p>
<p><img src="http://www.flexdev.com.br/blog/imagens/Artigo/flex.jpg" height="104" width="104" /><br />
<img src="http://www.flexdev.com.br/blog/imagens/Artigo/logospring.jpg" height="72" width="463" /><br />
<img src="http://www.flexdev.com.br/blog/imagens/Artigo/hibernate.gif" height="78" width="249" /></p>
<p>Gostaria de registrar aqui uma dica para todos que estão a procura de material para estudarem sobre Flex, BlazeDS, Spring e Hibernate. O nosso amigo <a href="http://blog.digows.com/">Rodrigo</a> disponibilizou dois artigos interessantíssimos sobre o assunto.</p>
<p>O Ministério da saúde adverte: Não ler esses artigos pode lhe acarretar sérias dores de cabeça se tentar reinventar a roda.</p>
<p>Segue os links:</p>
<p><a href="http://blog.digows.com/?p=103">Parte 1</a><a href="http://blog.digows.com/?p=117"><br />
Parte 2</a></p>
<p>Valew Digows</p>
<p>Abraços a todos&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdev.com.br/home/artigo-flexblazedsspringhibernate/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Material Spring</title>
		<link>http://www.flexdev.com.br/home/material-spring/</link>
		<comments>http://www.flexdev.com.br/home/material-spring/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 02:54:21 +0000</pubDate>
		<dc:creator>Ebercom</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Apostilas]]></category>
		<category><![CDATA[Material]]></category>

		<guid isPermaLink="false">http://blog.flexdev.com.br/material-spring/</guid>
		<description><![CDATA[TweetTweet&#160; Ap&#243;s conversar com alguns amigos que desenvolvem Flex com Java, vi que estavam usando quase a mesma arquitetura, Spring com Hibernate &#8211; BlazeDS &#8211; Flex, alguns usam annotations no spring e no hibernate, outros usam GraniteDS ao inv&#233;s de BlazeDS, mas enfim &#233; quase tudo a mesma coisa. Ent&#227;o resolvi tamb&#233;m adotar essa arquitetura, [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.flexdev.com.br/home/material-spring/&via=flexdevbr&text=Material Spring&related=FlexDev:FlexDev&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.flexdev.com.br/home/material-spring/&via=flexdevbr&text=Material Spring&related=FlexDev:FlexDev&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>&#160;</p>
<p><a href="http://www.flexdev.com.br/blog/imagens/MaterialSpring_CBF/logospring.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="62" alt="logospring" src="http://www.flexdev.com.br/blog/imagens/MaterialSpring_CBF/logospring_thumb.jpg" width="379" border="0" /></a> </p>
<p>Ap&#243;s conversar com alguns amigos que desenvolvem Flex com Java, vi que estavam usando quase a mesma arquitetura, Spring com Hibernate &#8211; BlazeDS &#8211; Flex, alguns usam annotations no spring e no hibernate, outros usam GraniteDS ao inv&#233;s de BlazeDS, mas enfim &#233; quase tudo a mesma coisa.</p>
<p>Ent&#227;o resolvi tamb&#233;m adotar essa arquitetura, e como in&#237;cio dos estudos resolvi dar uma olhada no spring, ent&#227;o vou passar para voc&#234;s alguns links e materiais que consegui at&#233; agora, caso tenham outros links por favor colaborem nos passando nos coment&#225;rios.</p>
<p>Site oficial do framework (em ingl&#234;s)   <br /><a title="http://www.springframework.org/" href="http://www.springframework.org/">http://www.springframework.org/</a></p>
<p>Um material muito interessante que chegou at&#233; mim atrav&#233;s do meu amigo Digow, se trata de um pdf com uma explica&#231;&#227;o muito boa sobre o assunto</p>
<p><a href="http://blog.flexdev.com.br/wp-content/uploads/spring/apostila-spring.pdf" target="_blank">apostila-spring.pdf</a> ( Autor: <a href="http://blog.fragmental.com.br/" target="_blank">Phillip Cal&#231;ado</a> )</p>
<p>P&#225;gina com material sobre uso de annotations (em ingl&#234;s)   <br /><a title="http://sannotations.sourceforge.net/" href="http://sannotations.sourceforge.net/">http://sannotations.sourceforge.net/</a></p>
<p>Dica do meu amigo M&#225;rio Junior</p>
<p><a href="http://blog.interface21.com/main/2006/11/28/a-java-configuration-option-for-spring/">http://blog.interface21.com/main/2006/11/28/a-java-configuration-option-for-spring/</a></p>
<p>&#211;timo artigo de <a href="http://martinfowler.com/">Martin Fowler</a>&#160; <br /><a title="http://martinfowler.com/articles/injection.html" href="http://martinfowler.com/articles/injection.html">http://martinfowler.com/articles/injection.html</a> (em ingl&#234;s)    <br /><a title="http://www.javafree.org/content/view.jf?idContent=1" href="http://www.javafree.org/content/view.jf?idContent=1">http://www.javafree.org/content/view.jf?idContent=1</a> (traduzido por <a href="mailto:ronald.tetsuo@gmail.com">Ronald Tetsuo Miura </a>)</p>
<p>Acredito que voc&#234; deva primeiro ler a apostila escrita, e muito bem escrita por sinal, pelo Philip, leia tamb&#233;m os artigos relacionados no fim do documento. Logo depois parta para os outros links.</p>
<p>Bom pessoal, espero que com esse material ja de pra come&#231;ar.</p>
<p>Abra&#231;os&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdev.com.br/home/material-spring/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

