Grails é um framework web baseado no padrão arquitetural MVC que utiliza a linguagem Groovy, executa sobre a máquina Virtual Java (JVM) e objetiva a alta produtividade no desenvolvimento de aplicações web.
Em relação ao framework Grails, considere as afirmações a seguir.
I. Ao invés de exigir a utilização de arquivos XML, o framework Grails utiliza a programação por convenção para definir o papel das várias entidades de uma aplicação baseada no padrão arquitetural MVC. Por exemplo, uma classe cujo nome termina com Controller (como ProdutoController) é considerado um controlador web (o 'C' do padrão MVC).
II. Em Grails, através da abordagem scaffolding, é possível a geração automática dos controladores (o 'C' do padrão MVC) e as visões (o 'V' do padrão MVC) a partir do modelo (o 'M' do padrão MVC). Porém, em Grails, o scaffolding apenas pode ser dinâmico, onde esses artefatos (controladores e visões) são gerados apenas em tempo de execução e não podem ser personalizados pela equipe de desenvolvimento.
III. Grails por meio do mecanismo GORM (Grails Object-Relational Mapping) realiza um mapeamento automático entre modelos (o 'M' do padrão MVC) e tabelas em um SGBD.
IV. A regra principal de roteamento no Grails produz URLs segundo o padrão /action/controller/id, onde action é um método dentro do controlador, controller é o controlador (o 'C' do padrão MVC) responsável por atender a requisição especificada por aquela URL e id é um parâmetro opcional passado para identificar um objeto qualquer sobre o qual a ação será efetuada. Dessa forma, a URL http://localhost:8080/App/show/produto/1 pode ser entendida da seguinte forma: “Execute a ação show do controlador ProdutoController – um dos controladores da aplicação App hospedada na porta 8080 do servidor localhost”.
Assinale a alternativa correta a respeito das afirmações sobre o framework Grails.