10 Spring and Spring Boot Common Mistakes You Need To STOP

  Рет қаралды 141,888

Amigoscode

Amigoscode

Күн бұрын

Пікірлер: 205
@codingsavid6509
@codingsavid6509 Жыл бұрын
Can you make a video on propertly error handling?
@V4dk4n
@V4dk4n Жыл бұрын
Read about @ControllerAdvice annotation.
@zsombortoreky7678
@zsombortoreky7678 Жыл бұрын
You've mentioned at the testing part, that we should not use a different database from the production one (eg.: postgres / h2), I would really be interested in seeing a video about these types of best practices, thanks😁
@mikeoxlongdnb
@mikeoxlongdnb Жыл бұрын
kzfaq.infov3eQCIWLYOw
@nicholasferrara8028
@nicholasferrara8028 14 күн бұрын
You want to look in to using Test Containers to achieve this
@rhumedisi2783
@rhumedisi2783 Жыл бұрын
Thank you very much for this detailed Spring/Spring Boot, "How Not Tos". It's great to see a teacher who consistently and effectively communicate best practices.
@marcoreinaldi4193
@marcoreinaldi4193 Жыл бұрын
I agree. I think this video is great and give me insight how to avoid mistake on Springboot. But I hope, he will publish another video with the solution on how to do it right. Not the whole thing, but maybe just an Idea how to do it right.
@aminesafi7261
@aminesafi7261 Жыл бұрын
For the @Autowired annotation, you should use it if you have more than one constructor otherwise Spring will fail to inject the dependencies, it is a kind of a hint to tell spring which constructor to use. Nice video and very good explanation, keep going 💪🏻
@igle85
@igle85 Жыл бұрын
You shouldn't have 2 constructor for services, it's not a good practice.
@aminesafi7261
@aminesafi7261 Жыл бұрын
@@igle85 I agree, I’m just explaining that we can find ourselves in this situation.
@Denys.Stoianov
@Denys.Stoianov Жыл бұрын
@@aminesafi7261 it is possible to pass multiple services to the constructor and it will works even without @Autowired annotation,
@aminesafi7261
@aminesafi7261 Жыл бұрын
@@Denys.Stoianov You didn't get it, read my comment again :)
@aminesafi7261
@aminesafi7261 Жыл бұрын
@@sweets7092 Your comment is off topic, thanks anyway 🙂
@andreinovosiolov
@andreinovosiolov Жыл бұрын
Thank you for this video. I'm a trainee and you videos are very helpful. Waiting for lesson about proper testing of a Spring Boot application.
@marcelohmg
@marcelohmg Жыл бұрын
I would really like a video about testing the databese and querys!
@rockdarko440
@rockdarko440 Жыл бұрын
Thanks for this! I would really indeed like a video for the case against using H2 for testing. We use Oracle in production (migrating to postgres enterprise in a year or so) and would like to hear what you would suggest here. Thanks again!! :)
@MarcoS-mx1vj
@MarcoS-mx1vj Жыл бұрын
The problem with using In-Memory databases for testing is, that it doesn't make your tests reliable. Its a completeley different database with a different feature set. A green h2-based test doesn't mean that your code will work in production as well. One solution for this would be using a dockerized version of your production database (e.g. by using TestContainers).
@rockdarko440
@rockdarko440 Жыл бұрын
@@MarcoS-mx1vj Yes, you are ultimately right and Oracle supplies such containers. But the reality often is that developers don't always have the resources on their laptops to run something as hungry as oracle (even containerized that is a beast) and most of all often lack the knowledge/will to set it up. As an ops I would need to create a deployment for them I guess. It's a real shame to be honest, but that is the reality I deal with personally. The model we use for the time being is devs use H2 locally on their laptop, then deploy in a DEV environment where a full blown Oracle server is and although I wish it weren't that way, it does the job. Thanks for replying!
@user-fy8vj7el5q
@user-fy8vj7el5q 4 ай бұрын
wow it's 2024 and you're still the best spring youtuber in the whole world
@heduardos26
@heduardos26 Жыл бұрын
Great video, thanks a lot! We'll love to see a video where you explain how to test with the same DB and not use H2.
@geni4551
@geni4551 Жыл бұрын
Thank you very much for the explanation. Would love to see why we should not use H2 for testing video! :)
@feloniousmonkey
@feloniousmonkey Жыл бұрын
Great content...your points are ones that I do see fairly often. Keep the vids coming 😀
@just_O
@just_O Жыл бұрын
A small glance of how beautiful code can be, thanks for sharing
@TheSpiderWalk
@TheSpiderWalk Жыл бұрын
It would be nice to record one video only about testing in spring-boot, I am currently struggling with testing in spring-boot.
@Maicrash104
@Maicrash104 Жыл бұрын
To Error handling, since Spring 6 you can use "Problem Details" like standard and not have your own ErrorDto
@nospamallowed4890
@nospamallowed4890 Жыл бұрын
Thank you, I did not know about records. Seems like a pretty essential, powerful, and very simple to use feature. If I might suggest a topic for a future tutorial that has NOT been covered properly by anybody: Spring Boot 3 + Spring Security 6 + Tomcat 10 (deploy webapp as WAR) + Azure AD authentication & authorization using Microsoft's spring-cloud-azure-starter-active-directory Maven dependency. For extra points or as part of another tutorial... how to handle libraries (like the microsoft dependency above) that use logback when you are deploying to a Tomcat 10 that is configured for log4j2 logging (throws a logback exception when it tries to cast LogbackServletContainerInitializer to jakarta ServletContainerInitializer). Both of the tutorial topics I mention are fairly common configurations that nobody seems to be covering.
@robertwhite3503
@robertwhite3503 Жыл бұрын
I often use the actual entities rather than DTO's. These may work with persistence, but I cannot see a sensible way to use records with annotation-based data validation.
@MrTutiplengo
@MrTutiplengo Жыл бұрын
Awesome content. I'm new to Spring Boot and this was very informative. I didn't know about Java records at all.
@bashirzamani5144
@bashirzamani5144 Жыл бұрын
Thank you nelson, please continue this form of videos
@narek-tm
@narek-tm Жыл бұрын
Thanks for your content. Please, make video tutorials on testing in Spring Boot, especially integration testing, test containers.
@bladerunner20446
@bladerunner20446 Жыл бұрын
Great content as always. Could you please make more in-depth testing videos
@tedac091
@tedac091 Жыл бұрын
I've been looking up on how to make the switch from H2 database to tests containers. I would really appreciated a video on it, thank you!
@ms-pf9ow
@ms-pf9ow Жыл бұрын
I learned a lot. Thank you
@majesty8309
@majesty8309 4 ай бұрын
I have learnt something new. Thank you very much Nelson
@kirasign4605
@kirasign4605 Жыл бұрын
Please make other testing video like what you said in this video. Very grateful for this Thanks in advance! Lovely videos like always
@dshakya29
@dshakya29 Жыл бұрын
Hi Nelson, please make a series on testing Spring Boot applications.
@GFunkEra1992
@GFunkEra1992 Жыл бұрын
Thank you brother, very usefull info
@carlosrenesoto9650
@carlosrenesoto9650 11 ай бұрын
Great video @amigoscode Thanks a lot for sharing your knowledge!
@khaganimammadli6846
@khaganimammadli6846 Ай бұрын
Hi, you are my fav youtuber, you explain clearly and i understand almost everything. I wait from you the best tutorial about functional programming, lamda, streams and etc from zero to hero with simple explanation
@feloniousmonkey
@feloniousmonkey Жыл бұрын
@Valid was correct...@Validated is for partial or group based validation...
@sakthisomaskandan6438
@sakthisomaskandan6438 Жыл бұрын
Great video as always! Can you please make a video on why not to use h2 for testing? Thanks 🙏
@egamberdijabborov6586
@egamberdijabborov6586 Жыл бұрын
👍👍👍👍Thanks for the video tutorial
@darpanshirsat1712
@darpanshirsat1712 4 ай бұрын
Thanks you Buddy!
@Denys.Stoianov
@Denys.Stoianov Жыл бұрын
I see that you have here at 12:00 FakeS3 class, so it means you modify your production code to be able to test it. Why you do not use in this case localstack, it is also a standard defacto like testcontainers for testing. Correct me if I am wrong and this is just for Demo purpose
@rezaru2000
@rezaru2000 28 күн бұрын
Excellent! to the point!
@zafarboymurotov764
@zafarboymurotov764 Жыл бұрын
Thank you very much good luck
@sz_peter
@sz_peter Жыл бұрын
Setter injection is allowed when more then 7 dependencies required in the given class to avoid the "Method should not have more then X parameters" Sonar issue (if you use any static code analysis tools).
@hamsandwich123
@hamsandwich123 Жыл бұрын
tbf if you have 7 dependencies for a class you may want to rethink your design. good chance the class is doing too much and can be broken up into smaller classes.
@DeGoya
@DeGoya Жыл бұрын
Salamu alaykum brother, could you do a video on @Async and CompletableFuture?
@khalilbouali3480
@khalilbouali3480 9 ай бұрын
thanks a lot !
@pguti778
@pguti778 Жыл бұрын
Very good video! Yes please go ahead and do a video on testing!! Another mistake: not using lombok!!!
@matthewsuprunov4497
@matthewsuprunov4497 Жыл бұрын
great video! well explained, thanks can you please show how to manage authentication with jwt, redirecting after success login and managing roles?
@nayeemrafsan356
@nayeemrafsan356 Жыл бұрын
this is goldmine!
@eduardo-1822
@eduardo-1822 Жыл бұрын
So cool, very nice tips, thank you buddy
@danielbaptista4925
@danielbaptista4925 Жыл бұрын
Hi Nelson! :) Great video, I would love to see a video about database testing with an practical example
@482ksd
@482ksd Жыл бұрын
Second this. Would love to see how you spin up a container with a real DB in it for testing.
@Jumataev
@Jumataev Жыл бұрын
Me also
@niaboktruk
@niaboktruk 3 ай бұрын
Amazing content man, I'll watch every video you have. Amazing, simply amazing!!! 🤩
@sphesihlemanuel2933
@sphesihlemanuel2933 Жыл бұрын
Happy to learn, I thought Field injection was the that makes it hard to unit test, and Setter and Constructor injection were fine 👏🏾
@adambickford8720
@adambickford8720 Жыл бұрын
Not setter injection. An object should be in a useable state once its created. Beans are shared by default so you don't want other playing games with it.
@robertwhite3503
@robertwhite3503 Жыл бұрын
Constructor injection offers the guarantee that the object has the required dependencies. Setter injection means that anyone using the object has to remember to inject.
@mujaddidsislam1897
@mujaddidsislam1897 Жыл бұрын
this video gives me enlightenment, جَزَاكَ ٱللَّٰهُ
@rajkhare5949
@rajkhare5949 Жыл бұрын
nice video thanks!!!...why your courses are not available at Udemy??...please start your channel there as well!!
@limobei5042
@limobei5042 Жыл бұрын
Thanks a lot. I learned a lot. Please let me know, how i can learn better testing within spring boot, e.g. use right and necessary parts of apllication context
@larcenmenlahcen5998
@larcenmenlahcen5998 Жыл бұрын
Salam alikom akhy(Brother) good job, keep do it. Ramadan moubarak👉
@aayush481
@aayush481 Жыл бұрын
Hi @Amigoscode, your'e an amazing teacher and mentor, we want to buy your full stack course and learn from you, however the price is too high for people in India, as we have to pay in USD...
@LukmanJaji
@LukmanJaji Жыл бұрын
Salam alykun Nelson. Please make a video on why we should not use H2 for testing. Thank you.
@mark6662
@mark6662 Жыл бұрын
I understand for most instances constructor injection is better than setter injection but what do you mean by you can't mock the dependencies with setter injection. Surely you can just Create the object and then create a mock of the dependency and pass that dependency in through the setter.
@vacheyepremyan4252
@vacheyepremyan4252 Жыл бұрын
thanks
@shanagondaarun2436
@shanagondaarun2436 Жыл бұрын
What's the theme called. How to apply it. Looks dope
@zezoms
@zezoms Жыл бұрын
Great content. Keep going
@diniomar3965
@diniomar3965 Жыл бұрын
Your video is very clear. Whats your setup?
@usamaabubakar3061
@usamaabubakar3061 10 ай бұрын
Can you give more insights about that logger part? What to log, what not to log, best way to use log, and when to use info, debug, warn and error
@talbiabdelali5914
@talbiabdelali5914 Жыл бұрын
Could you release a full course of Spring boot testing please ?
@LearncodewithMuneeb
@LearncodewithMuneeb 9 ай бұрын
Thanks sir for making useful videos for us. But I request you very respectfully to work in a project in spring boot having at least 6 entities/tables using spring boot in the back end and React/Angular/Next in the front end
@jochanoss
@jochanoss Жыл бұрын
Essalamu Aleytkum Nelson, I love the way that your IDE looks. Would you make a video of what plugins do you use?
@sphesihlemanuel2933
@sphesihlemanuel2933 Жыл бұрын
Please record a video on testing 👏🏾🙏🏾
@rostomnouisser4023
@rostomnouisser4023 Жыл бұрын
please make tutorials about XLD , Jenkins and déploiement of an application , it's important and you can make it simple
@abdullaermatov1848
@abdullaermatov1848 Жыл бұрын
Would you suggest to use Lombok annotations for getter and setters? Or it is better to do it without lombok?
@AdnanAmmanUllah
@AdnanAmmanUllah Жыл бұрын
could you please create a detailed video on error handling?
@Michaeljamieson10
@Michaeljamieson10 Жыл бұрын
Highly recommend his full stack course
@mriduljayan4466
@mriduljayan4466 Жыл бұрын
Though xml is verbose it does separation of concerns better. The framework is less invasive as all you have is pojos.
@abhipatel439
@abhipatel439 Жыл бұрын
Hey, brother! If it's alright with you, could you possibly make a dedicated video that covers the topic of testing in Spring Boot? It has the potential to greatly benefit your audience.
@ayed-al-nator
@ayed-al-nator Жыл бұрын
nice video ❤❤ thanks
@monsuruokuniyi1234
@monsuruokuniyi1234 Жыл бұрын
Tests, I'm not doing that enough. We write lots of code at work, and I believe we should also be writing tests along side. But our output rate doesn’t allow it. Can we start writing tests now? It looks like a daunting task
@riccardoatwork5291
@riccardoatwork5291 7 ай бұрын
The main reason to use dependency injection is NOT "to have Spring do things for you" or "so that you can use singletons". It is used to do dependency INVERSION. Also, leaving the @Autowired on constructors is not a mistake, it servers a role as documentation.
@richaveli
@richaveli Жыл бұрын
Can't wait to see what mistakes I'm already making! 😊
@lmrl021
@lmrl021 Жыл бұрын
Great video. Can I request for another video for possible solution in one of those mistakes? Thank you.
@skynight5207
@skynight5207 Жыл бұрын
Could you please make video about domain driven design (ddd) design pattern with spring boot?
@gabrielalvesgoncalves9959
@gabrielalvesgoncalves9959 Жыл бұрын
One of the best videos on the channel! Congratulations again, you are an inspiration!
@ClaudesGomes
@ClaudesGomes Жыл бұрын
what extensions do you use in the intellij?
@adarshverma3372
@adarshverma3372 Жыл бұрын
Please make a video on testing Spring Boot Application using Data Sources
@mdameenhasan6676
@mdameenhasan6676 Жыл бұрын
Assalam mu alaikum brother, Can you please make video on Muslim Software Engineer Routine in Ramadan… eagerly wait for it😊. And yes love from India🫶🏻
@Jumataev
@Jumataev Жыл бұрын
Hello Nelson! I really would like to see how you test with real database, because recently I saw your video with a h2 in junit testing.
@robertwhite3503
@robertwhite3503 Жыл бұрын
It is interesting that so may demos use H2 for testing.
@jorgensenabrahamson6479
@jorgensenabrahamson6479 Жыл бұрын
Hi, If I am using java 1.8 where the records are not present, which would be the best approach? create a mapper also? or should we use JPA Projections always instead? Could you please make a video about it? thanks
@feloniousmonkey
@feloniousmonkey Жыл бұрын
Your points are valid, but I don't think record really matters in terms of exposing internal data..you are on the right path, mapping your entity to dto like that is pretty crude..of course in the real world tools like mapstruct or dozer are used to seamlessly map to DTOs.
@sacmaliyoruz
@sacmaliyoruz Жыл бұрын
salam alaikum brother thanks for everything. you are the best. hi from türkiye
@jorgetovar621
@jorgetovar621 Жыл бұрын
Whats the theme that you are using? it looks nice
@seyedaliroshan2386
@seyedaliroshan2386 Жыл бұрын
Salam, can make a video of what is the difference between using lombok @Data annotation and the record classes and which is better? I couldn't find a good compression and really carious about it
@TheKanoxa
@TheKanoxa Жыл бұрын
Please please please do a video on testing database without H2. I'm struggling in my work with this 😢
@lubodimitrov8778
@lubodimitrov8778 Жыл бұрын
could you explain why we shoulnt use xml? do u recommend using gradle?
@alvaroandressuarez
@alvaroandressuarez Жыл бұрын
what is the particular IDE you are using in this video?
@sweetphilly2
@sweetphilly2 Жыл бұрын
Yeah i gotta take some time to learn more about Records. They seem simple yet powerful. Anyone seeing the benefits of them, and mind further explaining their uses?
@simpaticode
@simpaticode 7 күн бұрын
It's constructor vs setter injection, btw.
@stefanoriffaldi84
@stefanoriffaldi84 Жыл бұрын
if you pls record video how to avoid H2 in testing, should be amazing
@taners
@taners Жыл бұрын
hi Nelson, good tricks thank you. which plugins do you use on IntelliJ ?
@sylvereleipertz955
@sylvereleipertz955 9 ай бұрын
Good advices for beginners but most of them are not spring boot related. Using DTOs/Records to decouple the database schema from the frontend side or not calling directly the repository in the controller are best practice in every languages
@danielthompson3082
@danielthompson3082 Жыл бұрын
what's the difference between @SpringBootTest and @DataJPATest and why should I only use the former once?
@jasper-3338
@jasper-3338 Жыл бұрын
2. Using records, could have some extra explanation as what it does underwater, basically I use a record with the same variabele name and it looks up a record with that variable name? and returns me a single entity with that name? or multiple within that record? 3. Dependancy @Autowired vs constructor injection, the constructor injection is very good for testing the classes as it can be mocked using mockito. @Autowired is deprecated by spring boot. Good that you give one line for testing, as for testing the dependent classes can be mocked. For the testing is there a sample I can look into ? So I can speed up my own code as well? :)
@nikolayverkhovtsev3886
@nikolayverkhovtsev3886 Жыл бұрын
Is this IDEA or what IDE u use in this video?
@ollySun
@ollySun Жыл бұрын
How is the fasting going? hope its good. Please do a complete tutorial video on testing
@NotNaveedKhan
@NotNaveedKhan 6 ай бұрын
Spring Boot provides validation dependency which i more better way to do the validation of request object. Also, I would like to know how do you map the data from request to entity and from entity to response?
@BioDetermination
@BioDetermination Жыл бұрын
@Amigoscode Another mistake what I have seen is not using springdoc to generate OpenAPI documentation. This is a lifesaver to deliver to QA instead of using Microsoft Word.
@amigoscode
@amigoscode Жыл бұрын
Maybe I’ll do a video on it
@elvisismaelsalvatierraespi8990
@elvisismaelsalvatierraespi8990 Жыл бұрын
Que IDE estás utilizando?
@KamelBerkani08
@KamelBerkani08 6 ай бұрын
How do you run controllers with IntelliJ ?
@Asingh42
@Asingh42 Жыл бұрын
14:20 what is diffrence between jakarta validation and spring ones?
@luca_raveri
@luca_raveri 10 ай бұрын
what about field injection with the annotation @Autowired? is this a good practice or should be avoided? if yes, why?
10 Most Common Java Developer Mistakes
16:13
Amigoscode
Рет қаралды 102 М.
Learn Dependency Injection and Write Better Code
21:52
Amigoscode
Рет қаралды 168 М.
I CAN’T BELIEVE I LOST 😱
00:46
Topper Guild
Рет қаралды 86 МЛН
THEY made a RAINBOW M&M 🤩😳 LeoNata family #shorts
00:49
LeoNata Family
Рет қаралды 12 МЛН
I wish I could change THIS fast! 🤣
00:33
America's Got Talent
Рет қаралды 98 МЛН
He sees meat everywhere 😄🥩
00:11
AngLova
Рет қаралды 10 МЛН
Learn SOLID Principles with CLEAN CODE Examples
28:35
Amigoscode
Рет қаралды 262 М.
Junior Developer Sent Me Another PR For Review
15:44
Amigoscode
Рет қаралды 102 М.
Spring Tips: Spring Modulith
37:39
SpringDeveloper
Рет қаралды 15 М.
Top 10 Spring Annotations to know in 2024
26:41
Java Brains
Рет қаралды 73 М.
4 Spring Boot Mistakes to AVOID in 2024
15:18
Java Brains
Рет қаралды 54 М.
5 Java concepts you MUST KNOW!!
11:50
Amigoscode
Рет қаралды 302 М.
OK i need to change your code. SORRY
43:18
Amigoscode
Рет қаралды 165 М.
Spring Boot and Angular Full Stack Development | 4 Hour Course
3:46:33
Худший продукт Apple
0:53
Rozetked
Рет қаралды 135 М.
После ввода кода - протирайте панель
0:18
Up Your Brains
Рет қаралды 1 МЛН
Main filter..
0:15
CikoYt
Рет қаралды 14 МЛН
Secret Wireless charger 😱 #shorts
0:28
Mr DegrEE
Рет қаралды 2,5 МЛН
1$ vs 500$ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ !
23:20
GoldenBurst
Рет қаралды 1,5 МЛН