spring + hibernate + anotaciones = desarrollo rápido en java
Post on 27-Sep-2015
31 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 1/14
EntraenAdictosatravsde
Entrar
Email
ContraseaRegistrarme
Olvidmicontrasea
Inicio Quinessomos Formacin Comparadordesalarios Nuestroslibros Ms
Estsen:Inicio Tutoriales Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
Sguenosatravsde:
CatlogodeserviciosAutentia
ltimasNoticias
2015:Volvemosalaoficina!
CursoJBossdeRedHat
Siereselresponsableoldertcnico,considratedesafortunado.Nopuedesculparanadieporsergris
Portales,gestoresdecontenidosdocumentalesydesarrollosamedida
ComentandoellibroStartupNation,LahistoriadelmilagroeconmicodeIsrael,deDanSenor&SaluSinger
Histricodenoticias
ltimosTutoriales
ByteCode:SabesloquerealmenteprogramasenJava?
PopArtalestiloAndy
Vertodoslostutorialesdelautor
AlejandroPrezGarca
AlejandroessociofundadordeAutentiaynuestroexpertoenJ2EE,Linuxyoptimizacindeaplicacionesempresariales.
IngenieroenInformticayCertifiedScrumMaster
Seguira@alejandropgarci 1,145seguidores
Sitegustaloqueves,puedescontratarleparadarteayudaconsoporteexperto,impartircursospresencialesentuempresaoparaquerealicemostusproyectoscomofactora(Madrid).PuedesencontrarmeenAutentia:Ofrecemosserviciosdesoporteadesarrollo,factorayformacin.
Fechadepublicacindeltutorial:20080514 Tutorialvisitado147.412vecesDescargarenPDF
Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
Creacin:09052008
ndicedecontenidos1.Introduccin2.Entorno3.Laaplicacin4.Lacapadepersistencia4.1.Lasentidades4.2.ElDAO5.Lacapadenegocio6.Lacapadecontrol7.Lacapadepresentacin8.Losficherosdeconfiguracin8.1.hibernate.cfg.xml(configuracindeHibernate)8.2.applicationContext.xml(configuracindeSpring)8.3.facesconfig.xml(configuracindeJSF)9.Diferenciaentrelasanotaciones@Repository,@Service,@Controller10.Conclusiones11.Sobreelautor12.Colaboraciones
1.IntroduccinUnodelosgrandesproblemasquetienehoyendaeldesarrollodeaplicacionesWebenJavaesqueelciclodedesarrolloes,enmuchasocasiones,demasiadolargo(oporlomenosmslargodeloquenosgustara).
DebidoaesteproblemahansurgidoalternativasdelestilodeRubyonRails(http://www.rubyonrails.org/)oinclusoGoogleAppEngine(http://code.google.com/appengine/)unaalternativaqueproponeGoogle,basadaenellenguajePython.
Todasestasalternativaspuedenresultarmuyinteresantes,perosuelenestarbasadasenlenguajesconchequeodetiposdbil,otrasladandoelchequeodetiposatiempodeejecucin(comoPython),loqueprovocaquepuedansermuytilesparahacerrpidamentepequeasaplicacionesoprototipos,peroquesepuedenconvertirenungranproblemacuandoqueremosconstruiraplicacionesmedianasograndesdondeintervienenvariaspersonasoinclusoequiposenelprocesodedesarrollo.Paraestecasodeaplicacionesmedianasograndesygruposdedesarrollocolaborativos,sehace
D I P L O M A D O A D I S T A N C I A
Cursos y Programas en lnea, Diplomados en diver
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 2/14
Warhol:Photoshop
Tcnicasderealizacindeentrevistas
ImprimiendodocumentosOfficeyPDFexistentesconJavaenentornoWindows.Batch&Print
Enfrntateconxitoalacrisisdelahojaenblanco
ltimosTutorialesdelAutor
MixinsenJavayJava8!S,esposible!
CmohacertestingautomticodeunappletJava
PrimerospasosconClojure:LeiningenyMidje
CmointegrarenGradleunservidorJettyoTomcat
Kettlenoesunatetera,eslaherramientadeETLdePentaho!
CategorasdelTutorial
Spring
Hibernate
JavaEstndar
TcnicasAvanzadas
necesariounlenguajefuertementetipado,dondepodamosdefinirjerarquasdetipos(clasesointerfaces)enlasqueelrestodelequiposepuedaapoyarparadesarrollarsinriesgos.
EnestetutorialveremoscomograciasaSpring+Hibernate+Anotacionespodemosconseguirundesarrollotanrpidocomoelquepodemosconseguirconlasalternativasantesmencionadas.
YahemosvistoenotrostutorialeselusodeSpringoHibernate,peroenestetutorialvamosaintentarsacartodoelpartidoalasAnotacionesdeJava5para,basndonosenelconceptode"convencinfrenteaconfiguracin",centrarnosenelcdigo,olvidarnosdelabasedededatosydeesostediososficherosdeconfiguracinenXML.
ConestonoquierodecirquedebamosolvidarnosporcompletodeesosficherosXML,sinoquedebemoscentrarnosaresolverelproblemaquenosocupa,deformarpidayconunbuendiseo,consiguiendouncdigolegibleymantenible.Siluegoqueremoshacerciertosrefinamientos,ovirgueras,losXMLsiempreestarnesperndonosparapodersobreescribirelcomportamientoestablecidoconlasanotaciones.
2.EntornoEltutorialestescritousandoelsiguienteentorno:
Hardware:PorttilAsusG1(Core2Duoa2.1GHz,2048MBRAM,120GBHD).
NvidiaGEFORCEGO7700
SistemaOperativo:GNU/Linux,Debian(unstable),Kernel2.6.24,KDE3.5
JavaSun1.6.0_06
Spring2.5.4
Hibernate3.2.6
JSF(RI1.2)+Facelets1.1.14+ICEfaces1.7
3.LaaplicacinVamosahacerunapequeaaplicacindondesemuestreunlistadodeproductos.Podraquedaralgocomo:
Ylapantalladeedicindeproductos:
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 3/14
4.LacapadepersistenciaVamosaempezar"deabajoaarriba",esdecir,partiremosdefiniendonuestrasentidadespersistentesconHibernate,eiremos"subiendo"hastalacapadepresentacinycontrolconJSF,pasandoantesporelnegocio(elmodelo)conSpring.
4.1.Lasentidades
Ennuestroejemploslotenemoslaentidadproducto,conlosatributosnombre,descripcinyprecio.
Veamoscomonosquedaralaclase:
viewplain print ?
01. @Entity02. publicclassProduct{03. @Id04. @GeneratedValue05. privateIntegerid;06. 07. privateStringname;08. 09. privateStringdescription;10. 11. privatefloatprice;12. 13. Product(){14. //Sloelmanagerpuedeconstuirnuevasinstancias15. }16. 17. publicStringgetName(){18. returnname;19. }20. 21. publicvoidsetName(Stringname){22. this.name=name;23. }24. 25. publicStringgetDescription(){26. returndescription;27. }28. 29. publicvoidsetDescription(Stringdescription){30. this.description=description;31. }32. 33. publicfloatgetPrice(){34. returnprice;35. }
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 4/14
36. 37. publicvoidsetPrice(floatprice){38. this.price=price;39. }40. 41. }
Podemosvercomosetratadeunaclasetotalmentenormal,dondeenlalnea1anotamosquesetratadeunaentidad,yenlaslneas3y4indicamoscualeseliddelaentidadyqueesteidsergeneradoporlabasededatos.
Cabedestacardoscosas:
TodaslasnotacionesusadaspertenecenalestndardeJPAporloquesonvlidastantoparaHibernatecomoparaEJB3.0.
Hemosanotadounatributoprivadoquenoseusaenningnsitio,nisiquieratenemosgetterosetter.EstolohacemosapostayaqueesalgoquegestionarinternamenteHibernate,yqueremoscondicionarlomenosposiblenuestrodiseo(nuestronegocio).
4.2.ElDAO
ElDAOeselDataAccessObject,esdecir,serlaclasedonderesidalalgicademanejodeHibernate(oJDOoJDBoJPAo...).DeestaformaconseguimosquenuestralgicadenegocionosepanadadeHibernate,ysiemprequequieraaccederalosdatosloharausandoestaclase.
Veamosunejemplosencillo:Primerodefinimosunainterfaz,aspodemosintercambiarlaimplementacinfcilmentesialgndanoscansamosdeHibernate(nolocreo):
viewplain print ?
01. publicinterfaceDao{02. 03. publicvoidpersist(Objectentity);04. 05. publicvoidpersist(Object[]entities);06. 07. publicListfind(ClassentityClass);08. 09. publicTload(ClassentityClass,Serializableid);10. 11. publicListfind(Stringhql);12. 13. }
Paraelejemploslohemosdefinidoalgunasoperacionessimples.AhoraveamosunaposibleimplementacinusandolasfacilidadesquenosproporcionaSpring+Hibernate:
viewplain print ?
01. @Repository02. publicclassSpringHibernateDaoextendsHibernateDaoSupportimplementsDao{03. 04. @Autowired05. publicSpringHibernateDao(SessionFactorysessionFactory){06. super.setSessionFactory(sessionFactory);07. }08. 09. @Transactional10. publicvoidpersist(Objectentity){11. getHibernateTemplate().saveOrUpdate(entity);12. }13. 14. @Transactional15. publicvoidpersist(Object[]entities){16. for(inti=0;i
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 5/14
Aunqueellectorenunprincipionoentiendalaimplementacinloquecreoquequedaclaroesqueessencilla,puestoqueselimitaaunaspocaslneas(denuevosugierorepasarladocumentacin).
Dondesivamosahacerespecialhincapiesenlasnuevasanotacionesquenoshanaparecido:
Enlalnea1nosencontramoscon@Repository.EstaesunaanotacindeSpring.Estamosindicandoqueestaesunaclaserelacionadaconlacapadepersistencia,yquedebeserunSingleton(slohabrunainstanciadelaclaseHibernateDaoSupport,ytodoslosThreadsdelaaplicacinlacompartirn).
Enlalnea4nosencontramoscon@Autowired.EstaesunaanotacindeSpring.SirveparaindicarleaSpringquecuandovayaacrearlainstanciadeHibernateDaoSupportdebe"inyectarle"(pasarle)enelconstructorunareferenciaalSessionFactory(elSessionFactorysloconfiguraremosmedianteXML,loveremosmsadelante).
Porltimo,enlalnea9,14,20,...nosencontramosconlaanotacin@Transactional.EstaesunaanotacindeSpring.Estamosindicandoqueelmtodoencuestinestransaccional.LoqueharSpringescomprobarsiyaexisteunatransaccinabierta,siexisteseuniraella,ysinoexiste,abrirunanuevatransaccin(estecomportamientoesconfigurable).Deestaformanosaseguramosquetodaoperacindelabasededatosserealizadentrodeunatransaccin.AdemssidurantelaejecucindelmtodoseproducealgunaexcepcindeRuntime,seharautomticamenterollbackdelatransaccin(estecomportamientotambinesconfigurable).
Yahemosterminadoconlacapadepersistencia.Rpidoverdad?.EnningnmomentohemosvistosentenciasSQL,nisiquieraparacrearlastablasdelabasededatos.MsadelanteveremoscomoconfiguramosHibernateparaqueseencarguedecrearnoslastablasautomticamente(Losficherosdeconfiguracinlosveremostodosalfinal,porahorasigamosconelcdigoJava).
5.LacapadenegocioEnestaaplicacinelnegocionoesgrancosa,pocomsqueobtenerlosproductosoguardarlos,asquelaclasenosvaaquedarmuysencillita:
viewplain print ?
01. @Service02. publicclassProductMgr{03. 04. @Resource05. privateDaodao;06. 07. publicProductnewProduct(){08. returnnewProduct();09. }10. 11. publicvoidpersist(Productproduct){12. dao.persist(product);13. }14. 15. publicListgetProducts(){16. finalListlist=dao.find(Product.class);17. returnlist;18. }19. }
HaciendounaclasetansencillayquelonicoquehaceesdelegarenelDAO,hayquienmepodraacusardeestarcayendoenelantipatrn"Poltergeist",yaquedesdecontrolpodramosusardirectamenteelDAOpararecuperaroguardarlosproductos,yquitarnosestaclasedeenmedio.PeronocreoqueesteseaelcasoyaqueprimaelMVCyelbajoacoplamiento.
Siempredebemosintentarquelacapadecontrolypresentacinseanlomstontasposibles.Pensarporunmomentoquenousamosestaclase"manager"yqueusamoselDAOdesdelasclasesdecontroldeJSF(losmanagedbeans),siahoraquisiramosmontarunwebserviceparaaprovecharestaaplicacindesdeotrasaplicacionescuantocdigoqueyahabramosescritoenelmanagedbeantendramosquerepetirenelwebservice?
Perovamosallo,quehemosvenidoahablardelasanotaciones)
Enlalnea1nosencontramoscon@Service.EstaesunaanotacindeSpring,similara@Repositoryqueyahabamosvistoantes.Estamosindicandoqueestaesunaclaserelacionadaconlacapadeservicio(clasesdenegocio),yquedebeserunSingleton.
Enlalnea4nosencontramoscon@Resoruce.Estaanotacinesdelestndar,porloqueesvlidatantoconSpringcomoconEJB3.0.Estaindicandoquealcrearlainstanciadeestaclasesedebe"inyectar"(inicializar)enesteatributounareferenciaalainstanciadelDao(eslainstanciaquehabamosdeclaradoanteriormentecon@Repository).
SeacaboYahemosterminadoconnegocio!!!
6.LacapadecontrolVamosaimplementarelcontrolconlosmanagedbeansdeJSF.Comotenemosdospantallaspodemoshacerdosmanagedbean.
Eldelapantallaconellistadodeproductosnospodraquedaralgocomo:
viewplain print ?
01. @Controller02. @Scope("session")03. publicclassListProduct{
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 6/14
04. 05. @Resource06. privateProductMgrproductMgr;07. 08. @Resource09. privateEditProducteditProduct;10. 11. privateUIDataproductsDataTable;12. 13. publicStringeditProduct(){14. Productproduct;15. try{16. product=(Product)productsDataTable.getRowData();17. 18. }catch(IllegalArgumentExceptione){19. //Nosehaseleccionadoningunafila;seestaadiendounnuevoelemento.20. product=productMgr.newProduct();21. }22. editProduct.setProduct(product);23. 24. return"editProduct";25. }26. 27. publicListgetProducts(){28. returnproductMgr.getProducts();29. }30. 31. publicUIDatagetProductsDataTable(){32. returnproductsDataTable;33. }34. 35. publicvoidsetProductsDataTable(UIDataproductsDataTable){36. this.productsDataTable=productsDataTable;37. }38. }
Laclaseparalaedicindelosproductos:
viewplain print ?
01. @Controller02. @Scope("session")03. publicclassEditProduct{04. 05. @Resource06. privateProductMgrproductMgr;07. 08. privateProductproduct;09. 10. publicStringsave(){11. productMgr.persist(product);12. return"home";13. }14. 15. publicProductgetProduct(){16. returnproduct;17. }18. 19. publicvoidsetProduct(Productproduct){20. this.product=product;21. }22. }
Fijndonosenlaclasedelistado,lasnuevasanotacionesqueaparecenson:
Enlalnea1nosencontramoscon@Controller.EstaesunaanotacindeSpring,similara@Repositoryo@Servicequeyahabamosvistoantes.Estamosindicandoqueestaesunaclaserelacionadaconlacapadecontrol.
Enlalnea2nosencontramoscon@Scope("session").EstaesunaanotacindeSpring.ConellaestamossobreescribiendoelcomportamientopordefectodeSpring,queeshacerSingletons,yleestamosdiciendoquenoscreeunainstanciadiferentedeestaclaseporcadasesinHttp.Esdecir,cadausuariotendrsupropiomanagedbean.
Tambincabedestacardesdelalnea5hastala9.Laanotacin@Resourceyalahemoscomentadoantes,peroquierorecalcarcomoseest"inyectando"lareferenciaalmanager(laclasedenegocio)ylareferenciaaotromanagedbeandelacapadecontroldeJSF,esdecir,SpringescapazdegestionarlasdependenciasentrelosdiferentesmanagedbeansdeJSF.
7.LacapadepresentacinEstimplementadaconJSF+Facelets+ICEfaces,peronotienenadadeespecial.Esdecirlaconstruiremoscomohabitualmentesetrabajaconestastecnologas.
CuandoqueramosaccederalosmanagedbeansdesdeelExpressionLanguagesimplementeloharemos.Porejemplo:
viewplain print ?
01.
viewplain print ?
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 7/14
01.
viewplain print ?
01.
8.Losficherosdeconfiguracin8.1.hibernate.cfg.xml(configuracindeHibernate)
viewplain print ?
01. 02. 03. 06. 07. 08. 09. create10. true11. 12. 13. 14.
Enlalnea9esdondeleestamosdiciendoaHiberantequequeremosquenoscreelastablasalarrancarlaaplicacin.Ojoporquesilastablasyaexistenlasborraprimero,esdecir,estopuedesermuyconvenienteparadesarrolloopruebas,peronoparaproduccin!!!Loquepodemoshaceres,unavezestncreadas,hacerun"export"delabasededatosparaobtenerlosscriptsdecreacinquepodemosretocarparadejarloslistosparaproduccin(peronosahorramoslogordo)
8.2.applicationContext.xml(configuracindeSpring)
viewplain print ?
01. 02. 12. 13. 14. 15. 16. 17. 18. 19. 20.
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 8/14
Puedeparecerquehaymuchoperoenrealidadslohay4cosas:configuracindeSpringparaquehagacasoalasanotaciones,definireldatasource(dehibernate,delservidorporjndi,...),definirelsessionFactorydeHibernate,ydefinireltransactionManager(eldeHibernate,JTA,...)
Siosfijisnohayniunasoladefinicindebeandeclasesquehayamosescritonosotros,deformaqueesteficherosemantendrconstanteconindependenciadelosbeansquetenganuestraaplicacin.
8.3.facesconfig.xml(configuracindeJSF)
viewplain print ?
01. 02. 04. 05. 06. 07. 08. es09. en10. 11. 12. com.icesoft.faces.facelets.D2DFaceletViewHandler13. org.springframework.web.jsf.DelegatingVariableResolver14. 15. 16. 19. 20. 21. home22. /listProduct.jspx23. 24. 25. 26. 27. /listProduct.jspx28. 29. editProduct30. /editProduct.jspx31. 32. 33. 34.
SepuedeapreciarcomoslohayconfiguracingeneraldeJSFyreglasdenavegacin.Peronodeclaramosningnmanagedbean.Estofuncionagraciasalalnea13dondeseleindicaaJSFquedebedelegarenSpringparabuscarlosmanagedbeans.Esdecir,JSFlosbuscaraentrelosquedeclaremosenelfichero(siesquedeclaramosalguno,quenoesnuestrocaso),ysinoloencuentra,lobuscarenSpring.
Comosepuedecomprobar,tambinnosahorramosescribircantidaddecdigoeneseXML.
9.Diferenciaentrelasanotaciones@Repository,@Service,@ControllerLadiferenciaesbsicamentesemntica,esdecir,cadaunadenotaperfectamenteaque"capa"correspondelaclaseanotada.Perotodassecomportandeigualmanera(porejemploentodasnuestrasclasespodramoshaberusadolaanotacin@Serviceyhubierafuncionadoigual).
Estoseconsigueporquelastresanotacionesextiendenlaanotacin@Component.
Elhechodeusaranotacionesdiferentespuedesermuyinteresantesiluegoqueremosaplicaraspectos(AOP=AspectOrientedProgramming)atodaslasclasesdeunamismacapa.Esdecir,porejemplo,puedohacerunareglaparaaplicarciertoadviceatodaslasclasesconlaanotacin@Controller.
10.ConclusionesGraciasaSpring+Hibernate+AnotacionespodemosconseguirreducirlostiemposdedesarrolloconJava.
YaexistenotrotipodeframeworkssimilarescomoEJB3.0oSeam(deJBoss)quetambinsebasanenanotaciones,peropodemosveralgunasventajasdeusarSpring+Hibernate:
ConSpring+HibernatepodemosusarcontenedoresligeroscomoTomcat,mientrasqueconEJB3.0oSeamestamoscondenadosausarunservidordeaplicacionescomoJBoss.EltenerqueusarporobligacinunservidordeaplicacionesaumentalostiemposdedesarrolloyaquesetardamsendesplegarenunservidordeaplicacionesqueenunTomcat.Ademsnecesitaremosmsrecursos.
ConSpring+HibernatepodemoshacertodoeldesarrolloenunTomcat,aunquefinalmenteacabemosinstalandoenproduccinenunservidordeaplicaciones.
ConSpring+Hibernatepodemosescribiraplicacionesnormalesdeescritorioolneadecomandos,mientrasqueconEJB3.0oSeamno,esdecirconSpring+Hibernate,noesquenosvalgaconuncontenedorligero,esquenotenemosporqueusaruncontenedorenabsoluto.
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 9/14
Share | 4
Registrateyaccedeaestayotrasventajas
AnmateycomntanosloquepiensessobreesteTUTORIAL:
Springdacantidaddefacilidades,comoSeam,yposiblementemsqueEJB3.0(yaqueseintegracongrancantidaddeotrosframeworks).AunquenohayqueolvidarqueEJB3.0permitetransaccionesdistribuidas(Spring+Hibernatenolopermiten,aunquesepuedenuniraunatransaccinJTAgestionadaporunservidordeaplicaciones),yademslosEJBssonporsimismosobjetosdistribuidos(muyfcilesdelocalizaryusardesdecualquierpuntodenuestrared).
Alfinalnitodoesabsolutamentebuenonitodoesabsolutamentemalo.Poresodebemosconoceropciones,evitarel"GoldenHammer",yquedarnosconlomejordecadacasa)
11.SobreelautorAlejandroPrezGarca,IngenieroenInformtica(especialidaddeIngenieradelSoftware)
SociofundadordeAutentia(Formacin,Consultora,Desarrollodesistemastransaccionales)
mailto:alejandropg@autentia.com
AutentiaRealBusinessSolutionsS.L."SoporteaDesarrollo"
http://www.autentia.com
12.ColaboracionesAntonioMartnez,unodevosotros,noshamandadoelpom.xmlquelestusandoparaestetutorial.
Aquoslopodisdescargar.
MuchasgraciasAntonio!!!
Acontinuacinpuedesevaluarlo:
Regstrateparaevaluarlo
Porfavor,vota+1ocomprtelositepareciinteresante
Fechapublicacin:2013102500:51:23
Autor:sotobotero
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 10/14
Cordialsaludo,Antetodoquierofelicitarelautor,excelentetutorial.
Quisierasabersialguientieneelfuentedelacapadepresentacindeestetutorial,otieneideadecomocrearelcomponentequemanejalaentidadproductoyseencargadeleerlosdatosdellapagina.
Agradezcosucolaboracio.
Fechapublicacin:2013030114:19:00
Autor:deadmau5
Muybuenpost!!Groso!!=)
Fechapublicacin:2012031300:12:40
Autor:alvarillo
buenastardes.graciasporcompartirestossupertutoriales.yosoynovatoenlaprogramacionjava,apenascomenceuncursobasico,yahoritaquisierahacerunproyectomuyparecidoconspringhibernatexmlbeans.tengomibasededatosenpostgres,yatambientengomiarchivodto,yquisierahaceraltas,bajas,consultasyborrarregistros,teniendounfromdeadministracion.comolepodriahacer.yatambiencreemiproyectodespring.saludoscordialesylesagradeceriasuayuda.
Fechapublicacin:2012022802:29:13
Autor:Calderas
Saludos.BuentutorialparaempezarconSpring.Tutorialesmsextendosterminanpordesanimar.
Tengode2a5clientesDesktopdiferentesperoquecompartenunmodelodenegociosencomn.EntiendoqueenunservidordeaplicacionespuedocolocarJavaBeansEnterprisequemesirvirancomoelmodelodenegociosadondeseconectaranlasaplicacionesdesktoputilizandoRMI.
Luego,leoqueSpringofreceunamejorformadeusarlosJavaBeanssinemabargo,todoslosejemplosquemetopo(comoelactual)usanclientesWebynoDesktop.
Entonces,esposibleusarSpringparahacerelmodelodenegociosyquedichomodeloseaaccesadodesdeunoovariosclientesDesktop?
Seagradecesimedanelnorteoindicanalgnejemplootutorial.
JJ
Fechapublicacin:2012010321:48:26
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 11/14
Autor:angel3d3
ltutorialestmuybueno,separecemuchoaloquenecesitoaprender,perocomosoynuevoenestotengoalgunosproblemasconlaslibrerasdespring,estoyprobandoestoenunaaplicacinqueyausaestaformula(Spring+hibernate+anotations)peroalparecernotengolalibreraorg.springframework.stereotype.Repositorynecesariaparaelusode@Repositoryserquealguienpuedeayudarme?estoyusandonetbeans7.0.1sobrewindows7yelerrorquemedaes:"Packageorg.springframework.stereotype.Repositorydoesnotexist"
Fechapublicacin:2011032315:05:59
Autor:mpccolorado
NodeberahaberenlainterfazDaohayunmtodoremove?Muchasgracias.
Muybuenartculo.Esjustoloquenecesitaba,porqueesfielatodoslosconsejosdadosenelmanualdereferenciadeSpring,peroatravsdeunejemplocompletamentefuncionalysencillo.
Fechapublicacin:2011013003:55:52
Autor:ARICARRARO
Buentutorial,sinembargotengounasugerencia.ApenasestoyconociendoSpringyestoyunpoco"verde",podrianexplicarunpocomssobrecomoconfigurarlasherramientascomo:
FaceletesICEFacesyJSF
graciasporelaporte
Fechapublicacin:2011012014:21:41
Autor:sgomez85
Graciasporeltutorial,esexcelenteyjesustoloqueestababuscando:)
Fechapublicacin:2010111018:40:10
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 12/14
Autor:Parche
Genialestesitio,osheseguidoenmuchasocaciones:)
Lacapadecontrolnomequedadeltodoclara,relamentenolaentiendo,podessubirunwarconelporyecto?osloagradeceramuchsimo
Fechapublicacin:2010082614:42:16
Autor:chris456
Muybuentutorialperomeencantariaquepudieranponerelcodigoparadescargar,asicompararyencontrarmiserroresalconfigurarlosframeworks
Fechapublicacin:2010010300:16:37
Autor:jcarmonaloeches
Animandoaloslectores.
Dagustoseguiroselhiloenlasevolucionestecnolgicasqueexisten.Esperoqueesteaosigisunbuenalnea,osseguirleyendo.
Cuandoseaisabueletesynopodispensar,osrelevaremosenelcargo:)
Fechapublicacin:2009100619:14:12
Autor:oricha
MuybuenArticulo.Peroestaramuchomejorsiincluyeranalgunaformadeaccederalcodigo.
Fechapublicacin:2009082704:40:08
Autor:
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 13/14
[AlfredoQuiroz]Excelente!!
Fechapublicacin:2009062306:48:36
Autor:
[raulrosenzvaig]Estariabuenoquealfinaldeltutorialsepuedabajarelwarconelcodigoyaqueamimeestacostandointegrarestosdosframeworksysuinstalacion,saludos
Fechapublicacin:2009061106:49:03
Autor:
[PaulRomero]Interesantetuarticulo,comodicesseveunpococomplejoelApplicationContext,hubiesesidobuenoaclararunpocolasconfiguraciones,peroigualesmuybuenoelarticulo.
Fechapublicacin:2009060201:09:02
Autor:
[KrisBelucci]Hi,goodpost.Ihavebeenwonderingaboutthisissue,sothanksforposting.
Fechapublicacin:2009051205:19:03
Autor:
-
16/4/2015 Spring+Hibernate+Anotaciones=DesarrolloRpidoenJava
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=desarrolloRapidoJava 14/14
EstaobraestlicenciadabajolicenciaCreativeCommonsdeReconocimientoNocomercialSinobrasderivadas2.5
IMPULSA Impulsores Comunidad Ayuda?
sinclicks + + + + + + + +
0personashantradoclicksaestapgina
poweredbykarmacracy
[Jorge]buenoastardesheleidoeltutorialymehaparecidomuybuenoperoestoyintentandomontarloenjboss4.2ymehansalidounoserroresdeconfiguracionconelicefaceletspodrianayudarmegracias
Fechapublicacin:2008051406:10:25
Autor:
[Paco]Alex,muybueno.
Copyright20032015AllRightsReserved|Textolegalycondicionesdeuso|Banners|PoweredbyAutentia|Contacto
top related