JSR-371 ( MVC 1.0 ) — Classes Hibridas

Daniel Dias
Jan 28, 2019 · 2 min read
Barista Duke — [DOAG](https://www.doag.org/de/home/)

Neste post veremos como podemos utilizar Classes Hibridas na api de MVC.

A especificação suporta dois tipos de Controller:

O primeiro que eu(Daniel) chamo de controller clássico , onde o @Controller fica no nível de classe e o segundo é o que fica a nível de método .

vamos ver como isso funciona.

Maven Dependencies

crie um projeto maven e configure o pom.xml da seguinte forma :

Criando as Classes

A primeira classe que iremos criar é a Application :

Agora vamos cria um controller de nível de Classe :

Aqui quando adiciono o @Controller no top da classe , eu digo que toda a minha classe é um CONTROLADOR , ou seja, tudo que estiver dentro dessa classe é um recurso MVC .

A classe Hibrida nada mais é que ter a anotação nos métodos, com isso somente métodos anotados com @Controller são recurso MVC .

E é ai que entra a coisa legal, pois com a anotação no método , ganhamos a possibilidade de expor serviços REST .

vejamos como :

pronto, está ai a nossa classe hibrida usando o @Controller no método getHello que vai retorna a nossa JSP e um método que retorna um json para gente .

isso é tudo : )

Código-fonte : https://github.com/SouJava-Rio/soujava-rio-labs/tree/master/MVC1.0-samples/Krazo-ClassesHibridas

REFERÊNCIAS

Daniel Dias

Software Engineering, Open Source Enthusiast. Apache and EclipseEE4J committer.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store