I'm transitioning from front-end development and have a basic understanding of Java. I decided to dive into learning the Spring framework, and I must admit, it's been quite challenging to grasp.
It's hard to find a spring boot tutorial that goes over the basics and the foundations like this one does. Many tutorials out there jump writing into writing code which is very frustrating when you are new and don't understand what the purpose of everything is.. This is massively helpful! Thanks!
@@thegeeekynerdAverage knowledge of Java. Like Classes, Arraylist, Objects....Nothing too much, but you definitely need a couple of months of Java practice
@@thegeeekynerd I started learning java from complete scratch, granted i have decent to advanced skills on python as a college student, i started learning on monday it is now thursday and ive comfortably built 2 web apps hooked one up to thymeleaf for ui, still not 100% on the beans and components etc but enough to get by. It depends how quick you pick it up
I appreciate it, but this tutorial is a 2/5. You cannot use SQL highlighting or built in databases or automated HTTP requests on Community IntelliJ. You shouldn't use copilot in tutorials to generate large blocks of code without explaining them. It's a good thing I was able to work out postgre and docker on my own else I would have had no chance. I had to refactor the huge chunks of code you just paste in multiple times because it didn't work on my end. Theres no description of what beans, config, dependency injection or containers are, and tests that don't work? "I'll just fix this in the final repo" (It's not fixed in the final repo). For the delete test you can fix it (and I think this is the right thing to do but who knows) by adding a "when" mocking line that returns an optional, seen further up the test class. Also, the json pulled in for one of the final tests has been changed and the test will no longer work.
These issues pose a good challenge for the learner. You must have learned quite well to be able to criticize the tutorial, which is a win in itself. This is a decent tutorial, which is saying a lot considering it's free.
@@Reversd2u it was really hard to follow along... :( tomorrow i have a interview telusko's ~5h tut i completed in 2x speed in 3h, and impliment myself, but this took whole day... still parts are not clear.. but telusko don't show many best practices like using Constructor based deoendency injection instead of Autowiring or properly setting http status.. so in that regards this is good, hence i watched this
For those who can't get past the "Web server failed to start. Port 8080 was already in use." error, go to application.settings and add server.port=8090 After you did this you will be working on port 8090. (You can add whatever port you like)
@danvega is one if the great pioneer in Java Spring space. He has been long here from the time of blog writting to podcasts. Good to see him again and that too on my one if favourite channel @freecodecamporg
Another one added to the "Coding" playlist I've yet to truly tap into. 😂😂 Edit: I've never wrapped my head around making web apps outside of JS though, so I'm genuinely curious!
You’re missing out then, Mistakenly, I spent the first couple years of coding focusing on one language. Building literally everything with it! However, it annoyed everyone when they would see my contribution to whatever project we were working on. Perplexed on why I did it only in ArnoldC!
Yes, truly missing out... :) don't wanna thinking in deathbed should have tried out php... i felt really awesome writing servers anything other than js...
Module 5 - Creating a REST Client that makes calls to another service * Web Clients for Spring Boot was created to use as part of Spring Web Flux. Easier to understand and learn compared to other APIs * Create records that represent the User and any needed custom fields * Create RestClient and implement requests using restClient * Create HttpClient interface Module 6 - Testing
can we have a tutorial where before yous tart with spring you first learn to work with jax-rs and tomcat and then build restful services with things like jersey or the jakarta servlet api??? thnx again for the tutorial.
Proctored exams, uh, and so, uh, I at this point I recommend that you try to go to a test center. But um, if you just want to get even certified and you really excited, uh, definitely go take it online. All right. Now, we just have some uh remaining questions here. So what does it cost to take this exam? It's $100 USD is the most inexpensive native assertification. Um, it's going to take 90 minutes. Oh, that's the time that you're allocated during the uh, the example. It doesn't actually take that long. You could probably get a done in under an hour again. It's not a very hard certification but I do recommend that when you go to the exam you maximize, um all of your time and review questions, uh, because it is a very good habit to get into when you take exam. There are 65
Love the tutorial, thank you! I want to ask, in Module 3: REST API, you mentioned using creating new RunRepository() in constructor could lead to millions of instantiation due to requests, but isn't @RestController a singleton? Won't the same controller always be called for all the requests and the constructor will only instantiated once?
Near 1:00:00, when the author tells you that you should not use "new", because Spring is an "inversion of control framework". That's kind of a sad irony. Because normally Inversion of Control means that the flow of control goes agains the flow of the dependency (hence the "inversion"). That's supposed to reduce coupling to frameworks and libraries. The irony here is, that by not using "new" but instead injecting the class into the controller, you're actually coupling your design to spring.
Tutorial is good. One question: Is there a way to generate views (using Thymeleaf maybe)? The @RestController doesn't help render webpage. You can use @Controller but then you might need some refactoring to get REST API functionality
I appreciate and thanks for the efforts and helping others to learn but the example "Run" and CommandLineRunner etc are quite confusing. A simple ToDo example is alot more simpler to understand for the beginner or ppl coming from other programming language. Thread.run(). CommandLine.run() and the example Run all these are difficult to understand while you explain it and whenever u use the word "Run". All i am hearing constantly in this video are Run, Runnerz, Runner, Runner.run, runRepository, run this and run that 🙂
Good tutorial, but using autopilot is not helpful at all. I just end up going to the repo and copying code, which sort of defeats the purpose of a tutorial.
I get what you are saying in this video but there needs to be an outline maybe of the process. Then describe why each part is used and how its wired together. Watching this video I can see there is so much "assumed" understanding of what is needed to make the project. Its very hard to follow. Its clear this guy knows what he's talking about, but its very difficult to follow.
This course is decent but it goes through concepts without defining them properly. It's like you'd say : Do this because you have to. Decorate with this annotation because you have to. I'mma write this code quickly and I will run it (Why tho?) Explain what are you are doing briefly. If I want to learn a framework I want to understand why are things done in a certain way, not getting them shoved down my throat like a Foie Gras duck.
time stamp 40:00 discussion about code structures 50:00 discussion about controlleer 52:00 annotaions 1:01:13 dependency injections expalined all the get and post how to do it from her on wards contine from here 1:17:16
Great tutorial. If you use IntelliJ IDEA Community Edition version 2024.1.2, the auto build does not work. At least, it doesn't work for me and I have found no fixes
I actually prefer dark theme but If I would have used that I would have gotten comments that they wish I used light theme. I prefer dark when coding but I think for presentations light theme works best. Hopefully you can dim the brightness and survive light mode.
No judgement question - purely curious. For those of you just starting down the programming and/or web dev path… what made you choose Java over something like Python, JavaScript, C#, etc…
It's like when you chose a gamertag on XBOX at 12 years old. Java is the language I chose, and the language I became the strongest with. Now I am learning spring boot.
I've been looking for anything on creating a website that uses either a document oriented nosql database or a headless CMS to create a componentised website - which is to say, an author creates a page in the CMS and assigns components in a particular order or layout. The back end gets the initial layout for the page from the CMS (or database) based on the URL given & if there's a page authored with that address it'll then fetch the content for the components - body text, CTA labels, titles etc. Does such a video exist on FCC yet?
Honestly this is the worst coding tutorial I watched lately... Oh I'm just going to write this code and delete it. Will open a random file which is not highlighted in the file tree. I'm just going to do these 10 things which you can't do because you don't have Ultimate edition, so f you, figure it out. Oh, no need to watch me write code, will just copy-paste stuff from my notes or use huge blocks of Copilot code. IDK... I truly am grateful for the free course and I am getting a lot of knowledge out of this, but maaan, if you put this in perspective, coming from some PHP (laracasts) or JS (fcc) videos, the teaching level here is terrible.
@BattleFieldGalaxy Yes. I was stuck on this for a few days. This was the error that was really messing me up: "Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling" I'm running a newer version of Spring Boot than Dan and needed to add the jackson-datatype-jsr310 dependency to my pom.xml and then add it to the RunJsonDataLoader by adding this line to the constructor: "this.objectMapper.registerModule(new JavaTimeModule());" I'm not sure if that was your error too but I hope it helps!
The issue for me was that spring framework was not picking up the `docker.yaml` file. After installing and uninstalling everything twice, restarting the IDE (Intellij) solved it for me.
Thanks for the great video. I don't understand why the DB continues to be accesible through port 8080 when the local machine connects to the docker container through port 5432? Or, why is it not possible to make GET requests to port 5432 on my local machine? Is it just because the port 5432 is only the port used to connect the app to the database, but the app itself is still handling HTTP through 8080? So an incoming request hits 8080, then goes through 5432 to get to the database?
Exams. So what is the Proctor exam that's when you have someone that is supervising a reminder during your examination and specifically for online. Okay. So what that means is that you can sign up and schedule an online exam and through uh, a web camera and if you uh, you would just take the exam and somebody would watch you to make sure uh that you're not cheating. Okay. So, uh now it's even easier to get
Min 1:57:21 Sorta sums it up for me, autogenerates about 7 lines of code with Copilot, and explains none of it, and moves on: Id rate this course a weak 3/5 or 2/5
Would it be wrong to want to place the JsonDataLoader into a 'dev' folder? For instance, I'm building an application where table entries cannot exist without a foreign key from another table. For example, a 'run' table entry cannot exist without a foreign key 'user_id' from the 'user' table.
it got really complicated real fast when he transitioned to getting stuff from the JDBC stuff, he lost me, I'm gonna have to look at some other simpler things -.-
this course touches the basic of spring framework, its actually crazy how huge the spring ecosystem is
yes
I'm transitioning from front-end development and have a basic understanding of Java. I decided to dive into learning the Spring framework, and I must admit, it's been quite challenging to grasp.
@@drewintech9257 bro that's tough and also do DSA bro through Java
@@drexex0f Why though, just use python
@@drewintech9257 so whats the status now , have u learned spring ??
It's hard to find a spring boot tutorial that goes over the basics and the foundations like this one does. Many tutorials out there jump writing into writing code which is very frustrating when you are new and don't understand what the purpose of everything is.. This is massively helpful! Thanks!
Are there any prerequisites for this course?
@@thegeeekynerdAverage knowledge of Java. Like Classes, Arraylist, Objects....Nothing too much, but you definitely need a couple of months of Java practice
@@thegeeekynerd I started learning java from complete scratch, granted i have decent to advanced skills on python as a college student, i started learning on monday it is now thursday and ive comfortably built 2 web apps hooked one up to thymeleaf for ui, still not 100% on the beans and components etc but enough to get by. It depends how quick you pick it up
*Literally was watching this dude’s channel yesterday and been researching Springboot all week …. I’m scared 💀*
same here dude
What are you scared of? Feel free to reach out if you have questions.
They tracked your search. 😂
@@DanVegathat UA-cam is stalking me 😂😂
Same
I appreciate it, but this tutorial is a 2/5.
You cannot use SQL highlighting or built in databases or automated HTTP requests on Community IntelliJ. You shouldn't use copilot in tutorials to generate large blocks of code without explaining them. It's a good thing I was able to work out postgre and docker on my own else I would have had no chance. I had to refactor the huge chunks of code you just paste in multiple times because it didn't work on my end. Theres no description of what beans, config, dependency injection or containers are, and tests that don't work? "I'll just fix this in the final repo" (It's not fixed in the final repo). For the delete test you can fix it (and I think this is the right thing to do but who knows) by adding a "when" mocking line that returns an optional, seen further up the test class. Also, the json pulled in for one of the final tests has been changed and the test will no longer work.
These issues pose a good challenge for the learner. You must have learned quite well to be able to criticize the tutorial, which is a win in itself. This is a decent tutorial, which is saying a lot considering it's free.
@@Reversd2u it was really hard to follow along... :( tomorrow i have a interview telusko's ~5h tut i completed in 2x speed in 3h, and impliment myself, but this took whole day... still parts are not clear..
but telusko don't show many best practices like using Constructor based deoendency injection instead of Autowiring or properly setting http status.. so in that regards this is good, hence i watched this
For those who can't get past the "Web server failed to start. Port 8080 was already in use." error, go to application.settings and add
server.port=8090
After you did this you will be working on port 8090. (You can add whatever port you like)
spring is so huge its overwhelming
Somehow it's less overwhelming in telisko's videos
Thank you for this huge amount of information, and I hope that you will develop a launcher or map to master back-end using Java.
I have successfully completed this course. Spent about 6 hours with follow-up coding. Thank you .
U didn't get any error in it ??
@@bkbkbkkkk2471 it has every where. there are some outdated part. but try to copy and the error and refer with CHATGPT. you will find the error fast
U had made the project
This tutorial arrived at the perfect moment. Regards
@danvega is one if the great pioneer in Java Spring space. He has been long here from the time of blog writting to podcasts. Good to see him again and that too on my one if favourite channel @freecodecamporg
Thank you so much!
Thanks for introducing Spring Boot 3 to us!
just started learning Spring, the possibilities are huge
you think spring is gonna stay for a while in the market ??
@@King_houssin i believe so
These days I should fast switch from Node.js to Java. And this tutorial is really useful 4 me. Thanks a lot!
Another one added to the "Coding" playlist I've yet to truly tap into. 😂😂
Edit: I've never wrapped my head around making web apps outside of JS though, so I'm genuinely curious!
You’re missing out then, Mistakenly, I spent the first couple years of coding focusing on one language. Building literally everything with it! However, it annoyed everyone when they would see my contribution to whatever project we were working on. Perplexed on why I did it only in ArnoldC!
Ive been focused on dotnet buf i want a better arsenal cuz dotnet is just easier on windows. I want something even more portable
Yes, truly missing out... :) don't wanna thinking in deathbed should have tried out php...
i felt really awesome writing servers anything other than js...
Nice to see even java champion also produce red stack traces sometimes 😀 Thanks for very useful video, learned some new spring boot 3 things from it.
I hope you also add java or springboot curriculum on your website
Please please post more content of spring
Thank you for this amazing course,as a beginner in spring framework i learned alot and i wish you can upload more courses like this
Few Keywords: (1st hour)
Annotations
Context
Record
Module
Controllers
Build tools
Module 5 - Creating a REST Client that makes calls to another service
* Web Clients for Spring Boot was created to use as part of Spring Web Flux. Easier to understand and learn compared to other APIs
* Create records that represent the User and any needed custom fields
* Create RestClient and implement requests using restClient
* Create HttpClient interface
Module 6 - Testing
Coming from node and deno. Spring Boot makes building REST APIs even more of breeze. Most definitely an enterprise/production ready solution
Just finished the course today and it is so awesome to gain a briefly concept about SpringBoot, thanks man!
Hey dude u did it on windows or mac??
@@bkbkbkkkk2471 Mac w/ M1 chip
can we have a tutorial where before yous tart with spring you first learn to work with jax-rs and tomcat and then build restful services with things like jersey or the jakarta servlet api???
thnx again for the tutorial.
Thanks for the such a wonderful tutorial. Hope there more spring boot tutorial in the future
A great introduction to the Spring Framework. Worth watching !
Big respect to Dan Vega
Proctored exams, uh, and so, uh, I at this point I recommend that you try to go to a test center. But um, if you just want to get even certified and you really excited, uh, definitely go take it online. All right. Now, we just have some uh remaining questions here. So what does it cost to take this exam? It's $100 USD is the most inexpensive native assertification. Um, it's going to take 90 minutes. Oh, that's the time that you're allocated during the uh, the example. It doesn't actually take that long. You could probably get a done in under an hour again. It's not a very hard certification but I do recommend that when you go to the exam you maximize, um all of your time and review questions, uh, because it is a very good habit to get into when you take exam. There are 65
uh, and so uh, uh before the only way you could take this exam you had to go in person to a test center, but now uh that Pearson view is part of
Thank u so much for this valuable content that u shared, i hope to see another
Thanks for this great lesson!!!
Love the tutorial, thank you! I want to ask, in Module 3: REST API, you mentioned using creating new RunRepository() in constructor could lead to millions of instantiation due to requests, but isn't @RestController a singleton? Won't the same controller always be called for all the requests and the constructor will only instantiated once?
Near 1:00:00, when the author tells you that you should not use "new", because Spring is an "inversion of control framework". That's kind of a sad irony. Because normally Inversion of Control means that the flow of control goes agains the flow of the dependency (hence the "inversion"). That's supposed to reduce coupling to frameworks and libraries. The irony here is, that by not using "new" but instead injecting the class into the controller, you're actually coupling your design to spring.
Nice, this is entertaining for us programmers and developers.its just fun learning this would ya. Pls who agrees
It's a great course indeed! Thanks Dan!
Thanks for bringing for springboot please bring it same for React Frontend
Thanks for the amazing tutorial
also Spring Boot is OP...i love it
Tutorial is good. One question: Is there a way to generate views (using Thymeleaf maybe)?
The @RestController doesn't help render webpage. You can use @Controller but then you might need some refactoring to get REST API functionality
Another video added to my endless list😂
Thank you. Thank you and Thank you for this course. I am absolutely grateful
Thanks for great lesson ❤
1:11:44 Creating various CRUD OPERATIONS
After you create a course about spring security, i can't understand security in spring. Thanks.
Bruh I was talking today about this in a project proposal for my class
Great video - can you do a video on how to create integration tests
@DanVega you're a great teacher!
Thanks
How are your logs beautified with colors? Please explain, It makes a HUGE difference to readability 🙏
another banger😮
This was a great tutorial, thanks Dan!
this course got me up and running, easy to follow, thank you :), Still looks like a black box to me and have to dig deeper
I appreciate and thanks for the efforts and helping others to learn but the example "Run" and CommandLineRunner etc are quite confusing. A simple ToDo example is alot more simpler to understand for the beginner or ppl coming from other programming language. Thread.run(). CommandLine.run() and the example Run all these are difficult to understand while you explain it and whenever u use the word "Run". All i am hearing constantly in this video are Run, Runnerz, Runner, Runner.run, runRepository, run this and run that 🙂
Good tutorial, but using autopilot is not helpful at all. I just end up going to the repo and copying code, which sort of defeats the purpose of a tutorial.
same, the only setback but he gotta promote so he gets paid
good tutorial, it's just my mind can't comprehend it and now i am getting error and thus i left it after database part. thanks tho
Thank you vert much for your course/
thanks dan for sharing
Does this course cover Spring Security? I'm looking for a nice example with both user registration and user login pages.
What is the copilot you are using?
I get what you are saying in this video but there needs to be an outline maybe of the process. Then describe why each part is used and how its wired together. Watching this video I can see there is so much "assumed" understanding of what is needed to make the project. Its very hard to follow. Its clear this guy knows what he's talking about, but its very difficult to follow.
At what point do you show the end application?
This course is decent but it goes through concepts without defining them properly.
It's like you'd say : Do this because you have to. Decorate with this annotation because you have to. I'mma write this code quickly and I will run it (Why tho?)
Explain what are you are doing briefly. If I want to learn a framework I want to understand why are things done in a certain way, not getting them shoved down my throat like a Foie Gras duck.
Sir thanks so much!
Great one!
great video
please dont use paid InteliJ in a tutorial!
Thank you
time stamp 40:00 discussion about code structures
50:00 discussion about controlleer
52:00 annotaions
1:01:13 dependency injections
expalined all the get and post how to do it from her on wards
contine from here 1:17:16
Thanks!
Great tutorial. If you use IntelliJ IDEA Community Edition version 2024.1.2, the auto build does not work. At least, it doesn't work for me and I have found no fixes
I literally stopped from there but I am going to find another way
Don't use paid version it difficult to use because we have community's version
Hi guys
Should i learn java dev or mern
Hey Great Tutorial, for me it is not clear how to operate over multiple tables in my rational database.
Although the video is so informative and good, it would be nice if you used a dark theme
I actually prefer dark theme but If I would have used that I would have gotten comments that they wish I used light theme. I prefer dark when coding but I think for presentations light theme works best. Hopefully you can dim the brightness and survive light mode.
No judgement question - purely curious. For those of you just starting down the programming and/or web dev path… what made you choose Java over something like Python, JavaScript, C#, etc…
It's like when you chose a gamertag on XBOX at 12 years old. Java is the language I chose, and the language I became the strongest with. Now I am learning spring boot.
I've been looking for anything on creating a website that uses either a document oriented nosql database or a headless CMS to create a componentised website - which is to say, an author creates a page in the CMS and assigns components in a particular order or layout. The back end gets the initial layout for the page from the CMS (or database) based on the URL given & if there's a page authored with that address it'll then fetch the content for the components - body text, CTA labels, titles etc. Does such a video exist on FCC yet?
Honestly this is the worst coding tutorial I watched lately... Oh I'm just going to write this code and delete it. Will open a random file which is not highlighted in the file tree. I'm just going to do these 10 things which you can't do because you don't have Ultimate edition, so f you, figure it out. Oh, no need to watch me write code, will just copy-paste stuff from my notes or use huge blocks of Copilot code.
IDK... I truly am grateful for the free course and I am getting a lot of knowledge out of this, but maaan, if you put this in perspective, coming from some PHP (laracasts) or JS (fcc) videos, the teaching level here is terrible.
glad im not the only one, senior devs need to improve their teaching skills i swear
What is AI plugin used in intellij. Is it Jetbrains?
github copilot
Wow thank you so much for sharing the knowledge 👌👋🫡👍😊🙏
He looks like toby from The office, I had a hard time concentrating 😅
Anyone else got an error (Application run failed) after launching docker and tried to rerun the application? 02:07:30 in the video.
yes
@BattleFieldGalaxy Yes. I was stuck on this for a few days. This was the error that was really messing me up: "Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling"
I'm running a newer version of Spring Boot than Dan and needed to add the jackson-datatype-jsr310 dependency to my pom.xml and then add it to the RunJsonDataLoader by adding this line to the constructor:
"this.objectMapper.registerModule(new JavaTimeModule());"
I'm not sure if that was your error too but I hope it helps!
The issue for me was that spring framework was not picking up the `docker.yaml` file. After installing and uninstalling everything twice, restarting the IDE (Intellij) solved it for me.
Sir 40 minutes in it and everything looks so tough, even though I fairly know SpringBoot.
the white screen is killing
Personal timestamps:
49:46
Thanks for the great video.
I don't understand why the DB continues to be accesible through port 8080 when the local machine connects to the docker container through port 5432? Or, why is it not possible to make GET requests to port 5432 on my local machine?
Is it just because the port 5432 is only the port used to connect the app to the database, but the app itself is still handling HTTP through 8080? So an incoming request hits 8080, then goes through 5432 to get to the database?
Op❤
I'm waiting for spring security💀
any experiences springboot users have recommendations where to bounce off to after this video
My channel has some useful content on there
How are you starting your spring boot application in less than a second? What are the config changes that are required to achieve this?
After second hour , its full of bugs and eroors
Thank you 😊 for this awesome course
Exams. So what is the Proctor exam that's when you have someone that is supervising a reminder during your examination and specifically for online. Okay. So what that means is that you can sign up and schedule an online exam and through uh, a web camera and if you uh, you would just take the exam and somebody would watch you to make sure uh that you're not cheating. Okay. So, uh now it's even easier to get
Min 1:57:21 Sorta sums it up for me, autogenerates about 7 lines of code with Copilot, and explains none of it, and moves on: Id rate this course a weak 3/5 or 2/5
What kind of extension did Dan use to get the JSON formated that way
are u the best arizona ??
I learned a lot with this tutorial, @DanVega is an amazing teacher!
awesome
Would it be wrong to want to place the JsonDataLoader into a 'dev' folder? For instance, I'm building an application where table entries cannot exist without a foreign key from another table. For example, a 'run' table entry cannot exist without a foreign key 'user_id' from the 'user' table.
Model view controller
Bean - Spring controls its lifecycle
Repository
Interfaces
too chaotic
it got really complicated real fast when he transitioned to getting stuff from the JDBC stuff, he lost me, I'm gonna have to look at some other simpler things -.-
Please someone mention Prerequisites of this tutorial.