Dúvida JSF - Spring responsável pelos managed-beans  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
fabio.massa
JavaChild
[Avatar]

Membro desde: 01/12/2003 19:44:46
Mensagens: 119
Localização: Suzano
Offline

Amigos,

Criei um novo projeto do tipo Dynamic Web Project, estava utilizando JSF e o hibernate, agora quero integrar com o Spring, a parte do banco de dados está ok, tudo funcionando perfeitamente, porém gostaria de deixar o spring responsável pelos meus managed-beans do JSF, utilizei a annotation @Qualifier("meuBean") e funcionou corretamente, porém veio uma dúvida em relação as propriedades:

A declaração do nome do meu bean que depois utilizo nas views e o tipo do meu scopo eu consegui com as annotations @Qualifier e @Scope, agora só não sei o que fazer quando preciso passar alguma propriedade como parametro.

Agradeço pela ajuda, abraços!

http://blog.fabiomassa.com.br
http://twitter.com/fabiomassa
[Email] [MSN] [ICQ]
djemacao
GUJ Master

Membro desde: 04/06/2007 17:47:24
Mensagens: 1030
Offline

Seguinte, utilize anotações do 2.5.
Em um context.xml da vida, do Spring, eu teria algo como:



No faces-config.xml teria algo como e apenas:




E nas classes controladoras do JSF, algo assim:


Qualquer dúvida, veja a documentação do Spring:
http://www.springsource.org/documentation

Ou em livro, como Dominando Java Server Faces e Facelets Utilizando Spring 2.5, Hibernate e JPA:
http://www.lcm.com.br/index.php?Escolha=20&Livro=L00639

E revistas como a Mundo Java n.º 33 desse mês:
http://www.mundojava.com.br/NovoSite/destaque.shtml

Ou a Java Magazine:
http://www.devmedia.com.br/resumo/default.asp?ed=65&site=6














"Quanto mais aprendo mais tenho consciência que nada sei."
fabio.massa
JavaChild
[Avatar]

Membro desde: 01/12/2003 19:44:46
Mensagens: 119
Localização: Suzano
Offline

Falae djemacao blz?

Já tenho configurado tudo que me falou, mais a dúvida ainda persiste quanto o que fazer com as propriedades do bean, como alguns params etc.
Procurei a java magazine agora mas ainda não chegou na banca, vou ficar atrás dela, parece muito interessante.
Valew pela ajuda cara, qualquer novidade eu lhe falo.

Abraços,

http://blog.fabiomassa.com.br
http://twitter.com/fabiomassa
[Email] [MSN] [ICQ]
djemacao
GUJ Master

Membro desde: 04/06/2007 17:47:24
Mensagens: 1030
Offline

Se quiser entender na prática, compra o livro que citei, lá você aprende a lidar com parâmetros e etc. Acho que, se procura um bom exemplo prático, será uma bom começo.
Bons códigos!

"Quanto mais aprendo mais tenho consciência que nada sei."
rponte
JavaEvangelist
[Avatar]

Membro desde: 18/02/2008 10:06:25
Mensagens: 413
Offline

Como você está utilizando anotações eu aconselho partir para o método tradicional,

Ou se não for problema, você poderia se utilizar do Restfaces.
Abraços e boa sorte.

Rafael Ponte
http://www.rponte.com.br/
[WWW]
fabio.massa
JavaChild
[Avatar]

Membro desde: 01/12/2003 19:44:46
Mensagens: 119
Localização: Suzano
Offline

Fala rponte!

Temporariamente eu estava fazendo do jeito que me falou, mas como não achei nenhuma solução decidi deixar configurado no faces-config mesmo, pelo menos até que encontre uma solução para isso.
Agradeço muito pela ajuda, abraços!

http://blog.fabiomassa.com.br
http://twitter.com/fabiomassa
[Email] [MSN] [ICQ]
danielssribeiro
What is classpath?

Membro desde: 03/07/2007 00:06:34
Mensagens: 9
Offline

Fabio,

Vc conseguiu resolver esta questão?

Obrigado
fabio.massa
JavaChild
[Avatar]

Membro desde: 01/12/2003 19:44:46
Mensagens: 119
Localização: Suzano
Offline

Falae danielssribeiro blz?
Então para as propriedades que eu passava como parametro por algum link eu resolvi sim:

Aí consegui retirar a configuração do meu managed-bean do xml, deixando o spring responsável por ele.

Qualquer dúvida pode me perguntar!
Abraços,

http://blog.fabiomassa.com.br
http://twitter.com/fabiomassa
[Email] [MSN] [ICQ]
danielssribeiro
What is classpath?

Membro desde: 03/07/2007 00:06:34
Mensagens: 9
Offline

Blz Fábio,

Agora que entendi o que precisava realmente.

Me diz uma coisa, vc consegue controlar todos os seus MBeans pelo Spring sem problemas? Sabe me dizer qual a diferença do gerenciamento do JSF para o Spring? Estou estudando um refactory em um projeto que temos alguns spring beans, mas todos os MBeans são gerenciados pelo faces. Queria mudar o gerenciamento dos MBeans para o spring, com o intuito de possibilitar a criação de pointCuts nos seus métodos através do Spring AOP.

Um problema incial que estou tendo é a impossiblidade de levantar os meus MBeans junto com a app. Neste momento, ainda não tenho o contexto do faces que utilizo na construção destes =|

Queria saber a possibilidade destes beans serem instanciados sob demanda, e não todos na subida da app. Ou, caso possível, controlar a ordem do carregamento das classes, fazendo com que o faces suba antes do Spring. Neste caso, nem sei se terei outros problemas =/ terei q analisar....

valeu.
abraço
fabio.massa
JavaChild
[Avatar]

Membro desde: 01/12/2003 19:44:46
Mensagens: 119
Localização: Suzano
Offline

Falae danielssribeiro blz?
Ainda não controlamos todos os managed-beans via spring não, mas os novos e a maioria deles já passou por essa refatoração, é que antes tinhamos o managed-beans -> helper -> DAO, vimos que o helper era desnecessário e com o spring injetamos o DAO direto no managed-beans via @AutoWired.
Uma vantagem é que só preciso acessar algum xml para declarar as navigation-rules, só pra isso. Não sei dizer se há uma vantagem de performance deixar o spring cuidando dos managed-beans.
Essa alteração fizemos a pouco tempo, qualquer novidade eu deixo aqui.

Abraços,

http://blog.fabiomassa.com.br
http://twitter.com/fabiomassa
[Email] [MSN] [ICQ]
danielssribeiro
What is classpath?

Membro desde: 03/07/2007 00:06:34
Mensagens: 9
Offline

Fábio,

Sabe se consigo instanciar estes beans por demanda?
fabio.massa
JavaChild
[Avatar]

Membro desde: 01/12/2003 19:44:46
Mensagens: 119
Localização: Suzano
Offline

Fala danielssribeiro!
Não sei se entendi bem sua pergunta, você deseja instanciar o bean gerenciado pelo spring em um outro managed-bean por exemplo?, se for só isso eu sei que dá sim.

Abraços,

http://blog.fabiomassa.com.br
http://twitter.com/fabiomassa
[Email] [MSN] [ICQ]
danielssribeiro
What is classpath?

Membro desde: 03/07/2007 00:06:34
Mensagens: 9
Offline

Fábio,

não é bem isso, cara. Na verdade, o meu problema é que os springs beans configurados por anotação (Component) são instanciados quando levanto a minha aplicação. No entanto, fazendo com que os meus MBeans sejam Spring Beans, queria fazer com que eles não sejam instanciados dessa forma, mas sim sob demanda. Qnd na crição da servlet do meu jsp, instanciar o MBean. Não é assim que o jsf faz no seu gerenciamento de beans?
rponte
JavaEvangelist
[Avatar]

Membro desde: 18/02/2008 10:06:25
Mensagens: 413
Offline

danielssribeiro wrote:Fábio,

não é bem isso, cara. Na verdade, o meu problema é que os springs beans configurados por anotação (Component) são instanciados quando levanto a minha aplicação. No entanto, fazendo com que os meus MBeans sejam Spring Beans, queria fazer com que eles não sejam instanciados dessa forma, mas sim sob demanda. Qnd na crição da servlet do meu jsp, instanciar o MBean. Não é assim que o jsf faz no seu gerenciamento de beans?


Simplesmente coloque o escopo como request ou session.

Esse post é muito bom sobre a integração do Jsf+Spring+Jpa, vale a pena dar uma lida com atenção.
http://cagataycivici.wordpress.com/2008/03/04/annotation-driven-jsf-spring-jpa/
Abraços e boa sorte.

Rafael Ponte
http://www.rponte.com.br/
[WWW]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team