[Java][Spring]Accesso ai dati via web
- stefano_carniel
- Prode Principiante
- Messaggi: 247
- Iscrizione: mercoledì 21 marzo 2007, 0:03
[Java][Spring]Accesso ai dati via web
Ciao a tutti, avrei l'idea di realizzare un servizio di accesso a un database via web. L'applicazione client dovrei svilupparla per android, ma questo in un secondo momento.
Per altre vie mi sono avvicinato alla tecnologia Spring ed ho visto come realizzare un web service rest utilizzando i protocollo di scambio json.
Ora avrei bisogno di estendere questo progetto mettendoci un database (mysql) solo che girando in rete mi sono confuso alla grande, nel senso che ho trovato molte "cose" e non so quali sono sinonimi e quali invece complementari, cioè devono essere usate insieme per il risultato. Ad esempio, mi piacerebbe utilizzare:
- le librerie spring, con spring boot
- l'accesso ai dati JPA (quello con le annotazioni @Entity,...)
- poi ho visto che per accedere al db si può usare IdbcTemplate o HibernateTemplate... (qui mi è proprio oscuro)
- per il build dell'applicazione ho visto gradle
Non riesco a trovare un tutorial da zero, il sito di spring ha dentro molte guide ma nessuna che va in profondità su database SQL e anche la documentazione del progetto spring boot è un po' scarna...
Qualche consiglio?
Per altre vie mi sono avvicinato alla tecnologia Spring ed ho visto come realizzare un web service rest utilizzando i protocollo di scambio json.
Ora avrei bisogno di estendere questo progetto mettendoci un database (mysql) solo che girando in rete mi sono confuso alla grande, nel senso che ho trovato molte "cose" e non so quali sono sinonimi e quali invece complementari, cioè devono essere usate insieme per il risultato. Ad esempio, mi piacerebbe utilizzare:
- le librerie spring, con spring boot
- l'accesso ai dati JPA (quello con le annotazioni @Entity,...)
- poi ho visto che per accedere al db si può usare IdbcTemplate o HibernateTemplate... (qui mi è proprio oscuro)
- per il build dell'applicazione ho visto gradle
Non riesco a trovare un tutorial da zero, il sito di spring ha dentro molte guide ma nessuna che va in profondità su database SQL e anche la documentazione del progetto spring boot è un po' scarna...
Qualche consiglio?
Re: [Java][Spring]Accesso ai dati via web
Spring usa Hibernate per l'accesso al DB, la documentazione sulla loro interazione la trovi quì: http://docs.spring.io/spring-framework/ ... l/orm.html
Non è un tutorial ma dovrebbe contenere quasi tutto quello che ti server.
Non è un tutorial ma dovrebbe contenere quasi tutto quello che ti server.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
- stefano_carniel
- Prode Principiante
- Messaggi: 247
- Iscrizione: mercoledì 21 marzo 2007, 0:03
Re: [Java][Spring]Accesso ai dati via web
Grazie! lascio aperto se qualcuno ha qualche tutorial, ho scaricato il pdf completo del framework 841 pagine lì c'è proprio tutto
- stefano_carniel
- Prode Principiante
- Messaggi: 247
- Iscrizione: mercoledì 21 marzo 2007, 0:03
Re: [Java][Spring]Accesso ai dati via web
mi sembra di capire che la struttura del progetto dovrebbe essere:
- Oggetti da rendere persistenti (es. Docente, Corso, Studente)
- Una interfaccia DAO per ciascun oggetto. Ad esempio per l'oggetto studente:).
Finora può andare?
- Oggetti da rendere persistenti (es. Docente, Corso, Studente)
- Una interfaccia DAO per ciascun oggetto. Ad esempio per l'oggetto studente:
- * save
* update
* delete
* getCorsiFrequentati
Codice: Seleziona tutto
extends HibernateDaoSupport
Finora può andare?
Re: [Java][Spring]Accesso ai dati via web
finora va bene.
per approfondire però io consiglierei qualche libro, le documentazioni ufficiali sono belle ma un libro ti insegna i pezzi uno alla volta con percorsi più logici.
io mi sono letto questo:
http://www.amazon.it/SPRING-HIBERNATE-S ... +hibernate
buono studio
per approfondire però io consiglierei qualche libro, le documentazioni ufficiali sono belle ma un libro ti insegna i pezzi uno alla volta con percorsi più logici.
io mi sono letto questo:
http://www.amazon.it/SPRING-HIBERNATE-S ... +hibernate
buono studio
- stefano_carniel
- Prode Principiante
- Messaggi: 247
- Iscrizione: mercoledì 21 marzo 2007, 0:03
Re: [Java][Spring]Accesso ai dati via web
trovato grazie!
- stefano_carniel
- Prode Principiante
- Messaggi: 247
- Iscrizione: mercoledì 21 marzo 2007, 0:03
Re: [Java][Spring]Accesso ai dati via web
Dunque, ho fatto un primo progetto di esempio con connessione al database. Il tutorial prevede la creazione di un file di configurazione XML in cui dichiarare i vari beans.
Io questo file l'ho messo nella root del progetto, ma quando cerco di eseguire l'applicazione, mi dice
quindi dove dovrebbe essere messo?
Io questo file l'ho messo nella root del progetto, ma quando cerco di eseguire l'applicazione, mi dice
Codice: Seleziona tutto
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [mybeans.xml]; nested exception is java.io.FileNotFoundException: class path resource [mybeans.xml] cannot be opened because it does not exist
Re: [Java][Spring]Accesso ai dati via web
nei tutorial di solito sempre src/main/resources/beans.xml
poi nel codice:
[code2=java]public static void main(String[] args) {
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
XmlBeanDefinitionReader xmlBeanReader = new XmlBeanDefinitionReader(beanFactory);
ClassPathResource xmlResource = new ClassPathResource("beans.xml");
xmlBeanReader.loadBeanDefinitions(xmlResource);
EmployeeServices empServices = (EmployeeServices) beanFactory.getBean("employeeServices");
...
}[/code2]
poi nel codice:
[code2=java]public static void main(String[] args) {
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
XmlBeanDefinitionReader xmlBeanReader = new XmlBeanDefinitionReader(beanFactory);
ClassPathResource xmlResource = new ClassPathResource("beans.xml");
xmlBeanReader.loadBeanDefinitions(xmlResource);
EmployeeServices empServices = (EmployeeServices) beanFactory.getBean("employeeServices");
...
}[/code2]
- stefano_carniel
- Prode Principiante
- Messaggi: 247
- Iscrizione: mercoledì 21 marzo 2007, 0:03
Re: [Java][Spring]Accesso ai dati via web
grazie, però poi la cartella resource la devo includere tra le cartelle sorgenti del programma giusto?
Re: [Java][Spring]Accesso ai dati via web
dovresti averla già nel template, non serve creare nulla in teoria.stefano_carniel [url=http://forum.ubuntu-it.org/viewtopic.php?p=4669559#p4669559][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:grazie, però poi la cartella resource la devo includere tra le cartelle sorgenti del programma giusto?
- stefano_carniel
- Prode Principiante
- Messaggi: 247
- Iscrizione: mercoledì 21 marzo 2007, 0:03
Re: [Java][Spring]Accesso ai dati via web
uhm... a me non l'ha creata. Però io utilizzo il wizard di gradle (faccio new gradle project ecc...), vio lo conoscete?
Vorrei chiedere questo. Io ho struttura il progetto come nell'immagine, ma quando lancio il task
mi dà l'errore seguente:
mentre compilando con eclipse funziona bene.
Secondo me è un problema del file build.gradle, ma forse anche avere lo stesso nome package sotto cartelle diverse non è buona prassi.
Vorrei chiedere questo. Io ho struttura il progetto come nell'immagine, ma quando lancio il task
Codice: Seleziona tutto
gradle build
Codice: Seleziona tutto
error: package com.scarniel.accman.utils does not exist
Secondo me è un problema del file build.gradle, ma forse anche avere lo stesso nome package sotto cartelle diverse non è buona prassi.
- wolf82
- Entusiasta Emergente
- Messaggi: 1038
- Iscrizione: lunedì 2 novembre 2009, 9:17
- Distribuzione: Debian 8 Jessie xfce 32 bit
Re: [Java][Spring]Accesso ai dati via web
Se guardi meglio la documentazione vedrai che l'uso hibernate template é sconsigliato a partire dalla versione 3 di Spring.E' consigliato invece l'utilizzo di Session Factory
Per l'accesso al database puoi utilizzare Jdbc ,Hibernate oppure Jpa+(Eclipselink,Hibernate,...,)
Per l'accesso al database puoi utilizzare Jdbc ,Hibernate oppure Jpa+(Eclipselink,Hibernate,...,)
Linux....open your mind...!!!
- stefano_carniel
- Prode Principiante
- Messaggi: 247
- Iscrizione: mercoledì 21 marzo 2007, 0:03
Re: [Java][Spring]Accesso ai dati via web
Ciao wolf grazie. Non capisco alcune cose: è sconsigliato l'uso di hibernate template, non di hibernate che è un'altra cosa, giusto?. Io pensavo di utilizzare jpa, ma poi per operare proprio sul DB mi serve comunque hibernate, ri-giusto?
Nessuna notizia su gradle?
Nessuna notizia su gradle?
- wolf82
- Entusiasta Emergente
- Messaggi: 1038
- Iscrizione: lunedì 2 novembre 2009, 9:17
- Distribuzione: Debian 8 Jessie xfce 32 bit
Re: [Java][Spring]Accesso ai dati via web
Anche io sono alle prime armi con Spring..é da qualche mese che sto iniziando a studiarlo..
E' sconsigliato solo l'uso del template di Hibernate..
Jpa sono delle Api e se decidi di utilizzarle puoi scegliere il gestore di persistenza cioé chi vuoi che ti renda persistenti le informazioni..Se scegli invece di utilizzare le librerie di hibernate il gestore nn puoi sceglierlo..Cmq l'accoppiata migliore é Jpa+ Hibernate
Se vuoi capirci qualcosa ti consiglio il libro su cui ho studiato in questi mesi:Spring in action 3a ediz. E' consigliato per chi parte da zero
Leggiti questo :
Hibernate Jpa - Clicca per aprire
No More Spring Templates
E' sconsigliato solo l'uso del template di Hibernate..
Jpa sono delle Api e se decidi di utilizzarle puoi scegliere il gestore di persistenza cioé chi vuoi che ti renda persistenti le informazioni..Se scegli invece di utilizzare le librerie di hibernate il gestore nn puoi sceglierlo..Cmq l'accoppiata migliore é Jpa+ Hibernate
Se vuoi capirci qualcosa ti consiglio il libro su cui ho studiato in questi mesi:Spring in action 3a ediz. E' consigliato per chi parte da zero
Leggiti questo :
Hibernate Jpa - Clicca per aprire
No More Spring Templates
Linux....open your mind...!!!
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 12 ospiti