quinta-feira, 16 de agosto de 2018

Nova versão do Brutos Framework liberada!



Liberada a versão 2.0 rc3 do Brutos Framework. O dowload da nova versão pode ser feita na página de download e as alterações estão descritas no changelog.

O Brutos Framework é um controlador MVC desenvolvido em Java. Projetado para reduzir a complexidade do desenvolvimento web, com mapeamento configurável, resolução de vista, bem como suporte ao upload e download de arquivos. Podendo ser configurado usando XML, anotações e CoC.

Quais as vantagens em utilizá-lo?


  • leve;
  • baixo acoplamento;
  • produtivo;
  • geração de componentes testáveis;
  • suporte avançado de mapeamento;
  • fácil aprendizado.


Obtendo o pacote


Os pacotes de liberação estão hospedados no sistema de arquivos da SourceForge em formato ZIP. 
Cada pacote contém jars, exemplos, código fonte e entre outros. Seu download pode ser feito a partir da url http://sourceforge.net/projects/brutos/files/brutos/.

Repositório de artefatos Maven


  • brutos-core: artefato principal, necessário para construir aplicações usando o Brutos APIs nativo.
  • brutos-annotation: artefato opcional que permite a construção de aplicações usando anotações. Este artefato depende do brutos-core.
  • brutos-web: artefato opcional que permite a construção de aplicações web. Este artefato depende do brutos-core.

O repositório oficial do Brutos Framework é http://www.brutosframework.com.br/maven/2.

Como configurá-lo?


Registrar o listener no web.xml



Atenção: Se estiver sendo usado um container que suporte a especificação Servlet 3.0, o registro do ContextLoadListener não será necessário. Ele é automaticamente registrado. 

Registrar o filtro no web.xml



Atenção: Se estiver sendo usado um container que suporte a especificação Servlet 3.0, o registro do BrutosRequestFilter não será necessário. Ele é automaticamente registrado. 

Opções de configuração


  • Anotações
  • XML
  • CoC (Convenção sobre configuração)

Principais anotações


  • @Controller: indica um controlador;
  • @Action: indica uma ação;
  • @RequestMethod: associa uma ação a um determinado método HTTP;
  • @ResponseStatus: define o status HTTP da resposta de uma ação;
  • @ResponseError: define o status HTTP da resposta quando é lançada uma exceção;
  • @AcceptRequestType: indica os formatos de requisição suportados por uma ação;
  • @ResponseType: indica os formatos de resposta suportados por uma ação;
  • @Any: especifica o mapeamento de polimorfismo;
  • @View: define a vista de uma ação;
  • @Basic: especifica o mapeamento básico de um bean;
  • @Intercepts: especifica um interceptor.