Permalänk

Vad är Spring Framework?

Jag har nyss sett att det finns något som heter Spring Framework och jag undrar vad det är? Är det typ som WAMP, LAMP eller skapar man hemsidor i JavaFX-kod och kan enkelt koppla dessa till databaser och webhostare(apache typ) som är integrerat i Springprogrammet?

Så ingen PHP/HTML/JavaScript behövs?

Permalänk
Medlem

Spring är ett applikationsramverk och har väl egentligen ganska lite med webbutveckling att göra. Det tillhandahåller verktyg för att bygga webbtjänster (SOAP och REST etc.), data access (prata med diverse databaser) m.m.

WAMP, LAMP, eller XAMP som du nämner är ju bara en paketering av olika verktyg för webbutveckling (t.ex. Windows, Apache, MySQL, PHP) och är alltså något helt annat.

Du är lite snett ute om du tror dig komma undan HTML, CSS, och JavaScript vid skapande av hemsidor.

Visa signatur

AMD Ryzen 7 1700X 3.8 GHz 20MB | ASUS PRIME X370-PRO | MSI GeForce GTX 1080 Gaming X 8GB | G.Skill 16GB DDR4 3200 MHz CL14 Flare X | Corsair RM650x 650W

Permalänk
Skrivet av noMad17:

Spring är ett applikationsramverk och har väl egentligen ganska lite med webbutveckling att göra. Det tillhandahåller verktyg för att bygga webbtjänster (SOAP och REST etc.), data access (prata med diverse databaser) m.m.

WAMP, LAMP, eller XAMP som du nämner är ju bara en paketering av olika verktyg för webbutveckling (t.ex. Windows, Apache, MySQL, PHP) och är alltså något helt annat.

Du är lite snett ute om du tror dig komma undan HTML, CSS, och JavaScript vid skapande av hemsidor.

Varför står det "Web integration network" då här på Spring?
https://www.tutorialspoint.com/spring/spring_overview.htm

Och här https://youtu.be/PMX6HrdrnrY?t=5m50s

Permalänk
Medlem
Skrivet av heretic16:

Varför står det "Web integration network" då här på Spring?
https://www.tutorialspoint.com/spring/spring_overview.htm

Och här https://youtu.be/PMX6HrdrnrY?t=5m50s

Du kan jämföra Spring Framework med .NET Framework mer eller mindre. Båda är ramverk som syftar till att underlätta all form av applikationsutveckling.
Precis som du kan utveckla en backend för hemsidor med ren Java (JSP, Servlets etc.) kan du såklart använda Spring för åstadkomma detsamma.

Det jag menar är att du kommer inte komma undan front-end delarna om du vill ha en responsiv web 2.0-applikation.
Jag kanske uttryckte mig lite klumpigt i mitt tidigare inlägg.

Visa signatur

AMD Ryzen 7 1700X 3.8 GHz 20MB | ASUS PRIME X370-PRO | MSI GeForce GTX 1080 Gaming X 8GB | G.Skill 16GB DDR4 3200 MHz CL14 Flare X | Corsair RM650x 650W

Permalänk
Skrivet av noMad17:

Du kan jämföra Spring Framework med .NET Framework mer eller mindre. Båda är ramverk som syftar till att underlätta all form av applikationsutveckling.
Precis som du kan utveckla en backend för hemsidor med ren Java (JSP, Servlets etc.) kan du såklart använda Spring för åstadkomma detsamma.

Det jag menar är att du kommer inte komma undan front-end delarna om du vill ha en responsiv web 2.0-applikation.
Jag kanske uttryckte mig lite klumpigt i mitt tidigare inlägg.

Så Spring Framework är bara en IDE som innehåller massa bibliotek, istället för att använda t.ex. Intellij och importera massa bibliotek via Maven? Har dock aldrig använt maven. Jag brukar mest bara använda "import jars" i intellij. Fungerar utmärkt!

Så med Spring Framework så blir exakt alla typer utav javaprogrammering mycket lättare och enklare?
Är Spring en stark rekommendation, eller bara onödigt kunnande? Vem riktar sig Spring till? Web utvecklare? Databasadministratörer? Allmänna Javautvecklare?

Permalänk
Medlem
Skrivet av heretic16:

Så Spring Framework är bara en IDE som innehåller massa bibliotek, istället för att använda t.ex. Intellij och importera massa bibliotek via Maven? Har dock aldrig använt maven. Jag brukar mest bara använda "import jars" i intellij. Fungerar utmärkt!

Så med Spring Framework så blir exakt alla typer utav javaprogrammering mycket lättare och enklare?
Är Spring en stark rekommendation, eller bara onödigt kunnande? Vem riktar sig Spring till? Web utvecklare? Databasadministratörer? Allmänna Javautvecklare?

Nej, en IDE (Integrated Development Environment) är, som namnet antyder, din utvecklingsmiljö (Eclipse, IntelliJ). Maven är ett byggverktyg som helt enkelt paketerar ihop dina projekt till körbara JAR-filer (främst, det gör lite annat också). Spring har väl mer eller mindre blivit synonymt med Java och jag har hittills inte stött på några Java-projekt där Spring inte använts i någon form.

D.v.s. oavsett vad du utvecklar i Java har du nytta av Spring. Det tillhandahåller som sagt en mängd olika bibliotek som gör ditt liv enklare när det gäller bl.a. databaskommunikation, web-backend, etc.

Visa signatur

AMD Ryzen 7 1700X 3.8 GHz 20MB | ASUS PRIME X370-PRO | MSI GeForce GTX 1080 Gaming X 8GB | G.Skill 16GB DDR4 3200 MHz CL14 Flare X | Corsair RM650x 650W

Permalänk
Skrivet av noMad17:

Nej, en IDE (Integrated Development Environment) är, som namnet antyder, din utvecklingsmiljö (Eclipse, IntelliJ). Maven är ett byggverktyg som helt enkelt paketerar ihop dina projekt till körbara JAR-filer (främst, det gör lite annat också). Spring har väl mer eller mindre blivit synonymt med Java och jag har hittills inte stött på några Java-projekt där Spring inte använts i någon form.

D.v.s. oavsett vad du utvecklar i Java har du nytta av Spring. Det tillhandahåller som sagt en mängd olika bibliotek som gör ditt liv enklare när det gäller bl.a. databaskommunikation, web-backend, etc.

Tack för ett bra svar! Jag tror att Spring blir nog på min TODO list inom kort.

Permalänk

Nyfiken fråga!

Vad händer om jag INTE använder Spring?

Permalänk
Medlem

@heretic16: Du får inte tillgång till dess funktioner då.
Säg t.ex. att du ska bygga en REST service som tar emot ett HTTP-anrop, slår upp något i databasen och skickar tillbaka detta. Att försöka koda det från grunden istället för att använda de inbyggda funktionerna i ett ramverk skulle göra att du fick skriva sanslöst mycket väldigt avancerad kod. Med Spring kan du skära ner arbetsbördan.

Visa signatur

8700K 5Ghz | 32GB 3200Mhz | 2080Ti 11GB | Phanteks Enthoo | Asus PG27AQ

Permalänk
Skrivet av crumpets:

@heretic16: Du får inte tillgång till dess funktioner då.
Säg t.ex. att du ska bygga en REST service som tar emot ett HTTP-anrop, slår upp något i databasen och skickar tillbaka detta. Att försöka koda det från grunden istället för att använda de inbyggda funktionerna i ett ramverk skulle göra att du fick skriva sanslöst mycket väldigt avancerad kod. Med Spring kan du skära ner arbetsbördan.

Okej. Tack för djupare förståelse. Kan man använda JavaFX i Spring?

Permalänk
Medlem
Skrivet av heretic16:

Okej. Tack för djupare förståelse. Kan man använda JavaFX i Spring?

Min uppfattning är att dessa två gör helt olika saker...

Visa signatur

8700K 5Ghz | 32GB 3200Mhz | 2080Ti 11GB | Phanteks Enthoo | Asus PG27AQ

Permalänk
Skrivet av crumpets:

Min uppfattning är att dessa två gör helt olika saker...

Jaha? Är inte tanken med Spring att det ska vara en samling utav bibliotek som man bara importerar in istället för att ladda ned?

Permalänk

Så om jag ska göra ett SQL anrop så finns det färdig kod för detta i Spring?

Permalänk
Medlem
Skrivet av heretic16:

Okej. Tack för djupare förståelse. Kan man använda JavaFX i Spring?

JavaFX:
JavaFX är en samling paket som används för att göra b.la. grafiska gränsnitt, följer för övrigt med både JRE och JDK och kräver därför ingen ytterligare nedladdning.

Har inte provat det själv, men kan inte tänka mig att det är några större problem att göra en JavaFX app med hjälp av Spring.

Spring:
Spring är ett ramverk designat för att snabbt få igång dina program, används i grunden för javaprogram men har tillägg för det mesta.

Tanken är med andra ord att göra ditt skapande enklare, oavsett om det är ett program, en serverbackend eller en hemsida.

Skrivet av heretic16:

Så om jag ska göra ett SQL anrop så finns det färdig kod för detta i Spring?

Databas/SQL:
För anrop mot databas är JPA rätt vanligt, även där finns det massa tillägg som kan användas.
Ett exempel är Hibernate, där har du mycket färdiga klasser och behöver egentligen inte skriva någon SQL överhuvudtaget sålänge du håller dig till enkla anrop.

Skrivet av heretic16:

Jaha? Är inte tanken med Spring att det ska vara en samling utav bibliotek som man bara importerar in istället för att ladda ned?

Här kan du använda ett byggverktyg, exempelvis maven som du nämnt eller gradle.

Värt att notera är att du aldrig riktigt kommer ifrån HTML när det gäller hemsidor, även sidor med javabackend är till stor del HTML.

Kolla dock på GWT som är Googles ramverk för att skriva Javascript applikationer i Java

Rätta mig gärna om jag har fel på någon punkt, använder inte jättemycket ramverk själv utan brukar hålla mig till det som följer med Java EE.

Här har du lite matnyttig information om du vill läsa mer:
https://stackoverflow.com/questions/1061717/what-exactly-is-s...

Tutorial för JPA

Visa signatur

Stationär: Core i9 13900k | Asus X790 ROG Strix Gaming-F | 32GB DDR5 | RX 7900 XT | Lian Li PC-O11 dynamic evo
Laptop: Macbook Air | Apple M1

Permalänk
Skrivet av MaxieTheHatter:

JavaFX:
JavaFX är en samling paket som används för att göra b.la. grafiska gränsnitt, följer för övrigt med både JRE och JDK och kräver därför ingen ytterligare nedladdning.

Har inte provat det själv, men kan inte tänka mig att det är några större problem att göra en JavaFX app med hjälp av Spring.

Du bör prova JavaFX. Egentligen så är det inget speciellt faktiskt då JavaFX är programgenererat. Allt handlar om att använda SceneBuilder från Gluon då Oracle har gett ut JavaFX till OpenJDK, vilket gör att JavaFX är nu öppen källkod och därmed låter privata aktörer ta hand om JavaFX.

Jag har kört JavaFX och måste säga att det finns inget bättre verktyg att skapa GUI applikationer på. Nya Java 11 så ingår dock inte JavaFX. Men Gluon har tagit över JavaFX och bättre och bättre blir det. JavaFX 11 är senaste och släpptes nyss. Då kan du skapa ett program i Windows och köra det programmet i Iphone/Android igenom att bara använda Gluoas verktyg för att porta om programmet.

Citat:

Spring:
Spring är ett ramverk designat för att snabbt få igång dina program, används i grunden för javaprogram men har tillägg för det mesta.

Tanken är med andra ord att göra ditt skapande enklare, oavsett om det är ett program, en serverbackend eller en hemsida.

Värt att notera är att du aldrig riktigt kommer ifrån HTML när det gäller hemsidor, även sidor med javabackend är till stor del HTML.

Kolla dock på GWT som är Googles ramverk för att skriva Javascript applikationer i Java

Rätta mig gärna om jag har fel på någon punkt, använder inte jättemycket ramverk själv utan brukar hålla mig till det som följer med Java EE.

Hmm...hur värt är det att man lär sig Spring? Jag menar, hur mycket tid tjänar jag? Är det inte bättre att man laddar ned JARS biblioteken och sedan importerar dem? Har alltid fungerat för mig.

Permalänk
Medlem
Skrivet av heretic16:

Du bör prova JavaFX. Egentligen så är det inget speciellt faktiskt då JavaFX är programgenererat. Allt handlar om att använda SceneBuilder från Gluon då Oracle har gett ut JavaFX till OpenJDK, vilket gör att JavaFX är nu öppen källkod och därmed låter privata aktörer ta hand om JavaFX.

Jag har kört JavaFX och måste säga att det finns inget bättre verktyg att skapa GUI applikationer på. Nya Java 11 så ingår dock inte JavaFX. Men Gluon har tagit över JavaFX och bättre och bättre blir det. JavaFX 11 är senaste och släpptes nyss. Då kan du skapa ett program i Windows och köra det programmet i Iphone/Android igenom att bara använda Gluoas verktyg för att porta om programmet.

Hmm...hur värt är det att man lär sig Spring? Jag menar, hur mycket tid tjänar jag? Är det inte bättre att man laddar ned JARS biblioteken och sedan importerar dem? Har alltid fungerat för mig.

Menade inte att jag inte använt javafx, utan snarare att jag inte använt det tillsammans med Spring.

Beror väl helt på vad du tänkt använda Java för.

I mitt nuvarande arbete har jag ingen som helst nytta av Spring, men jag kan tänka mig att det är relativt vanligt bland hobbyprogrammerare samt även företag.

Skadar inte att kunna om inte annat, det är dock inte för att slippa ladda hem jar-filer, det har du byggverktyget för.

Det lilla Spring jag använt var för en inloggningsttjänst mot en databas, och den var väldigt trevlig att använda.
Helt klart värt att titta på.

Osäker på vad du menar med att JavaFX inte ingår i senaste Java (vilket är 9 förresten), 9an kom med lite förbättringar, bland annat att de integrerat ett annat populärt API i grundpaketet.

Visa signatur

Stationär: Core i9 13900k | Asus X790 ROG Strix Gaming-F | 32GB DDR5 | RX 7900 XT | Lian Li PC-O11 dynamic evo
Laptop: Macbook Air | Apple M1

Permalänk
Medlem

@heretic16: Det betyder ju inte på något sätt att det är ALLA bibliotek eller att JavaFX måste vara inkluderat i det. Spring gör specifikt den typen av arbete som att ta emot en fråga och ge ett svar från en databas om man ska förenkla det. JavaFX gör något helt annat. Du kan säkert bygga en applikation som använda båda teknikerna men de behöver för den sakens skull inte alls vara relaterade till varandra.

Visa signatur

8700K 5Ghz | 32GB 3200Mhz | 2080Ti 11GB | Phanteks Enthoo | Asus PG27AQ

Permalänk
Skrivet av crumpets:

@heretic16: Det betyder ju inte på något sätt att det är ALLA bibliotek eller att JavaFX måste vara inkluderat i det. Spring gör specifikt den typen av arbete som att ta emot en fråga och ge ett svar från en databas om man ska förenkla det. JavaFX gör något helt annat. Du kan säkert bygga en applikation som använda båda teknikerna men de behöver för den sakens skull inte alls vara relaterade till varandra.

Så om jag ska göra ett program som läser från en databas och staplar upp en lista med JavaFX. Går det då snabbare att göra detta i Spring, eller går det lika fort som att det i Intellij?

Först så måste man ha JDBC inkluderat, men det är ju ingen svår sak att installera.

Permalänk
Medlem

@MaxieTheHatter
Java 10 har släppts och 9 är redan EOL. I september kommer Java 11.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av heretic16:

Så om jag ska göra ett program som läser från en databas och staplar upp en lista med JavaFX. Går det då snabbare att göra detta i Spring, eller går det lika fort som att det i Intellij?

Först så måste man ha JDBC inkluderat, men det är ju ingen svår sak att installera.

Tror fortfarande du blandar ihop IDE och framework. Du kan använda Spring i IntelliJ.

Permalänk
Skrivet av gothxx:

Tror fortfarande du blandar ihop IDE och framework. Du kan använda Spring i IntelliJ.

Jo. Det gör jag säkert. Men som jag uppfattar Spring så är det en hel "mapp" med massa bibliotek färdigt installerat så man behöver inte importera via Maven eller liknande. Bara "import..." klart.

Permalänk
Medlem
Skrivet av heretic16:

Så om jag ska göra ett program som läser från en databas och staplar upp en lista med JavaFX. Går det då snabbare att göra detta i Spring, eller går det lika fort som att det i Intellij?

Först så måste man ha JDBC inkluderat, men det är ju ingen svår sak att installera.

Alltså det här funkar inte riktigt, jag tror du får försöka beskriva vad du vill åstadkomma i slutändan och låta folk föreslå en arkitektur för det istället för att du ska sitta och gissa på random ramverk tills det råkar passa ihop.

Visa signatur

8700K 5Ghz | 32GB 3200Mhz | 2080Ti 11GB | Phanteks Enthoo | Asus PG27AQ

Permalänk
Skrivet av crumpets:

Alltså det här funkar inte riktigt, jag tror du får försöka beskriva vad du vill åstadkomma i slutändan och låta folk föreslå en arkitektur för det istället för att du ska sitta och gissa på random ramverk tills det råkar passa ihop.

Jag vill kunna göra grafiska applikationer i Java. Stora program.

- Kunna ansluta till en databas
- Kunna plotta ut grafer från databas
- Kunna kommunicera med USB
- Kunna kommunicera över Ethernet
- Kunna göra 3D grafik (jMonkey brukar jag använda)
- Skapa grafiska applikationer (JavaFX 11 brukar jag använda)
- Kunna göra numeriska beräkningar med Java (Java Apache Commons brukar jag använda)

Permalänk
Medlem
Skrivet av Teknocide:

@MaxieTheHatter
Java 10 har släppts och 9 är redan EOL. I september kommer Java 11.

Det var som tusan. Känns som att det var häromveckan jag läste om att 9an var påväg.
Det går undan!

Visa signatur

Stationär: Core i9 13900k | Asus X790 ROG Strix Gaming-F | 32GB DDR5 | RX 7900 XT | Lian Li PC-O11 dynamic evo
Laptop: Macbook Air | Apple M1

Permalänk
Medlem
Skrivet av MaxieTheHatter:

Det var som tusan. Känns som att det var häromveckan jag läste om att 9an var påväg.
Det går undan!

Ja, de har en ny release cycle med väldigt snabba releaser där vissa har LTS.

Till ts:

Spring är ett ramverk. Ett ramverk kan du se som en färdig mall där du fyller i luckorna. Spring används mycket för webbapplikationer, t ex REST API:er och det låter inte som att det är vad du vill göra. (Även om jag personligen antagligen hade använt det för att dela upp din applikation i flera delar). Du pratar t ex om en databas. Har du en lokal eller ligger den på en server? Hur kommunicerar du med den? Det du tidigare gjort, använt t ex Apache Commons, är att använda bibliotek. Ett bibliotek är bara en samlig av färdig kod.

https://stackoverflow.com/questions/3057526/framework-vs-tool...

Permalänk
Medlem
Skrivet av heretic16:

Jo. Det gör jag säkert. Men som jag uppfattar Spring så är det en hel "mapp" med massa bibliotek färdigt installerat så man behöver inte importera via Maven eller liknande. Bara "import..." klart.

Nja, Spring importeras vanligen också via Maven.

Jag jobbar en del med webbapplikationer i Java, de flesta applikationer kodas med IntelliJ, använder Maven för att hålla reda på dependencies (mer eller mindre de Jar-filer som behövs), och så gott som alla använder Spring, som då inkluderas genom Maven så som alla andra dependencies.

För den grafiska delen använder vi Vaadin, som gör det enkelt att bygga webbsidor i Java.

Permalänk
Skrivet av Tazavoo:

Nja, Spring importeras vanligen också via Maven.

Jag jobbar en del med webbapplikationer i Java, de flesta applikationer kodas med IntelliJ, använder Maven för att hålla reda på dependencies (mer eller mindre de Jar-filer som behövs), och så gott som alla använder Spring, som då inkluderas genom Maven så som alla andra dependencies.

För den grafiska delen använder vi Vaadin, som gör det enkelt att bygga webbsidor i Java.

Antar att det är ändå HTML och CSS som används också?

Permalänk
Skrivet av MaxieTheHatter:

Spring:
Spring är ett ramverk designat för att snabbt få igång dina program, används i grunden för javaprogram men har tillägg för det mesta.

Tanken är med andra ord att göra ditt skapande enklare, oavsett om det är ett program, en serverbackend eller en hemsida.

Så i Spring så kan jag utveckla hemsidor enklare? Ingen HTML eller CSS behövs?