Neste post irei mostrar as alteracoes que voce precisa fazer para sua aplicacao que ja deve estar funcionando com Spring, ser integrada com JAX-RS, que e uma especificacao (a JSR-311) que define a criacao de um WebService com arquitetura RESTful, utilizando anotacoes que diminuem a necessidade de muitas configuracoes, utilizaremos a implementacao Jersey que e open source e referencia do JAX-RS.Se quer saber mais sobre WebService RESTful voce pode encontrar uma boa introducao no site da K19.No caso da minha aplicacao estou utilizando Spring 2.5, Hibernate 3.3.2 e JSF 1.2. Caso seu Spring seja de uma versao diferente pode ser que nao funcione da mesma forma.Os jars adicionais que voce precisa colocar em sua aplicacao sao: cglib-nodep-2.1_3.jar, jersey-core-1.5.jar, jersey-json-1.5.jar, jersey-server-1.5.jar, jersey-spring-1.5.jar, json-lib-2.4-jdk15.jar.No seu arquivo web.xml adicione as seguintes linhas:<web-app version="2.5">...<!-- Jersey servlet --><servlet><servlet-name>Rest_Servlet</servlet-name><servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class><load-on-startup>1</load-on-startup></servlet> <servlet-mapping><servlet-name>Rest_Servlet</servlet-name> <url-pattern>/*</url-pattern></servlet-mapping>...</web-app>No seu applicationContext.xml adicione:<!-- Coloque em base-package o pacote da sua classe de Servico --><context:component-scan base-package="br.com.fred.exemplo.servico" /> A sua classe de servico deve ficar como:@Path("/livros")@Component@Servicepublic class LivroService {@Autowiredprivate LivroDAO livroDAO; @GET @Produces("text/xml") public List<Livro> getLivros( ){ //retorna uma lista de livros return livroDao.getLivros( ); } @GET @Path("/id/{id}")@Produces("text/xml") public Livro getLivro(@PathParam("id")String id) { Integer intId = Integer.valueOf(id); return livroDAO.getLivro(id);}}Sua classe Livro ficara como:@XmlRootElementpublic class Livro { private int id; private String titulo; private String autor; public Livro() { } //getters e setters}Agora basta executar seu projeto e testar, supondo que o nome do projeto e biblioteca e que voce esta usando o tomcat na porta 8080, basta testar das seguintes formas:http://localhost:8080/biblioteca/livros (retorna xml com uma lista de livros)http://localhost:8080/biblioteca/livros/id (retorna xml com um livro com o id especificado)Qualquer duvida, deixe nos comentarios.Frederico Maia ArantesAnalista e Desenvolvedor de Sistemas Java EEOracle Certified Professional, Java SE 6 Programmer Twitter Vao ser abertas novas turmas para o Curso de Desenvolvimento de Aplicativos Desktop em Java utilizando Padroes do Professor Antonio Passos.Ja falei sobre este curso neste post. Ele e gratuito (ao menos por enquanto), totalmente via web, e com interacao entre os alunos e professor atraves de um forum.Seguem os objetivos do curso:Capacitar estudantes e profissionais de TI a...Projetar aplicativos desktop estruturados em camadas;Utilizar padroes de projeto no desenho de aplicativos CRUDs;Implementar aplicativos usando a linguagem Java, a IDE NetBeans e bancos de dados relacionaisMuita gente acaba perdendo o curso pois quando fica sabendo as turmas ja foram fechadas, portanto acompanhe o http://antoniopassos.pro.br/, pois la sempre estara atualizado com as novas datas. Para mais detalhes do curso acesse o site acima.Frederico Maia ArantesAnalista e Desenvolvedor de Sistemas Java EEOracle Certified Professional, Java SE 6 ProgrammerTwitter Hoje pela manha recebi um email da Oracle, informando que a promocao de voucher com retake foi prorrogada ate o dia 28/02/11. Voce que nao tinha aproveitado a oportunidade, nao perca dessa vez. A Oracle diz no email que o tempo de processamento do pedido e de 15 dias uteis, mas no geral esta demorando bem mais que isso. O site ainda nao esta atualizado mas segue o que recebi por email:Frederico Maia ArantesAnalista e Desenvolvedor de Sistemas Java EEOracle Certified Professional, Java SE 6 Programmer Twitter Faca sua inscricao aqui !Saiba o que e uma Startup !Frederico