المدة الزمنية 22:33

.NET Developer tries Java Spring

بواسطة Raw Coding
72 464 مشاهدة
0
1.5 K
تم نشره في 2022/12/30

.NET developer tries the Java Spring framework. Looking at the daily life of a Java developer & some beans. Patreon 🤝 https://www.patreon.com/raw_coding Courses 📚 https://learning.raw-coding.dev Shop 🛒 https://shop.raw-coding.dev Discord 💬 https://discord.gg/xgNS26k Twitter 📣 https://twitter.com/anton_t0shik Twitch 🎥 https://www.twitch.tv/raw_coding 👉 Try Rider https://www.jetbrains.com/store/redeem/ RD5K9-4TXXW-KMV3G-NYWSF-3ZSTP #aspnetcore #spring #java

الفئة

عرض المزيد

تعليقات - 313
  • @
    @auniquehandleمنذ 2 سنوات "the fuck is a bean"
    same bro, same
    658
  • @
    @YariRuمنذ 2 سنوات The secret is to use very long class names like AbstractAnnotationConfigDispatcherServletInitializer 225
  • @
    @Toradoshi12العام الماضي Aspect Oriented Programming a.k.a. introducing bugs under the hood is the backbone of Spring. 29
  • @
    @rubenvervaeke1635العام الماضي Don't have experience with Java & Spring and immediately starts out with Spring Security, that's brave my man. 11
  • @
    @yeumkyuseokالعام الماضي Im amazed at how you could code on the spot in such an unexperienced framework/environment this flawlessly!! 60
  • @
    @unhandledexception1948العام الماضي I honestly love watching this guy, his humour just brings to life any technical topic .awesome channel
    ;-)
    6
  • @
    @Narezaathالعام الماضي The one-liner authentication you've heard about is probably the simplest Spring Security authentication, which is just adding the library to your Maven/Gradle id="hidden2" class="buttons"> config and maybe an annotation. That is all, like, literally. At the start Spring notices you want authentication, sets it up for you, provides you with a default user and password and you can use those to authenticate. Done. If you want to configure it further then yeah, you'll have to jump through some hoops, like what you've experienced. You first specify the route either explicitly or by a matcher, then decide what to do with it: permit access without authentication or allow only authenticated users.
    JPA stands for Java Persistence Api, which should tell you what it's for. :)
    ....وسعت 14
  • @
    @lucasmontecالعام الماضي Also, you can write SQL in attributes (annotations) of those query methods. Lifetimes are defined by the type of "service" you are creating. id="hidden3" class="buttons"> Repos have a lifetime, services have another. All is registered automatically on startup. ....وسعت 7
  • @
    @oumardicko5593منذ 2 سنوات For any JVM related stuff, i use kotlin. Easy to use, innovative, no complex BS or verbosity. Kotlin has a backend framework called ktor and i can say, the language has some of the best developer experience i have seen. 44
  • @
    @fudoskerمنذ 2 سنوات It might seems like complicated staff, but only on start of the project.
    Now you can use spring boot which comes as part of code that performs basic configuration at runtime
    2
  • @
    @IvanRandomDudeمنذ 2 سنوات I work with both. Aspnet core is definitely easier to master and is innovating faster than Spring. Spring is huge, has like 50 different sub-frameworks id="hidden6" class="buttons"> and is being developed slower. I also like EF core more. Spring JPA looks great but as soon as you need complex queries it becomes a mess. Nobody even uses it for complex stuff, for complex queries we usually use jOOQ or some other library (they basically use LINQ-like syntax to build queries) ....وسعت 98
  • @
    @you0neville0tubeالعام الماضي EF also lets you have setups without having migrations (some default templates do it). If you are just querying all data you wouldn't have to use LINQ in EF either 8
  • @
    @JonneKleijerالعام الماضي Insightful! Thanks for sharing your insights.
    Could you do a similar video on NestJS?
    1
  • @
    @wlockuz4467العام الماضي The only thing stopped me from going completely insane when I used to work with Spring was Intellij IDEA 2
  • @
    @prabhatmaurya7434منذ 2 سنوات Can you try with Go lang, It will be interesting.. 9
  • @
    @kutilkolالعام الماضي Man you're good! That was some quality content, thx
  • @
    @petru-cristianboza5933العام الماضي I'm not sure how asp looks like.
    I do agree on the security part, it seems a bit hard, sometimes like "whack a mole"
    But id="hidden8" class="buttons"> the ORM stuff can be done a lot better than what you described here with just some more insight on the framework.
    For complex queries we use JPA Specification which allows you to create queries easy to maintain and modify.
    I would agree on the fact that it has somewhat large learning curve, especially if you spend a day on it, but after some time, things do become a lot better :D
    Thx for the video
    ....وسعت 19
  • @
    @GavrilosZالعام الماضي im java dev and u are doing great trust me :P 5
  • @
    @chillydill4703العام الماضي "I don't know what kind of teleportation going on here" cracked me up bad LOL
  • @
    @alexlo5655منذ 2 سنوات Thank u for the interesting video. Did you try to implement asynchronous code in Java/Spring? It would be interesting to compare ASP vs Java/Spring. 3
  • @
    @BradleyWeston92العام الماضي You got further then me :) I tried Java (+Spring) for a side project wrote my business logic and unit tests then tried to integrate with Spring got as id="hidden9" class="buttons"> far as authentication in a rest API and ended up giving up and quickly rewriting it back in Go. Their docs have a long way to go sadly. ....وسعت 2
  • @
    @AshishLohia70العام الماضي use spring starter to add postgres, it will add the correct driver
  • @
    @Dev-Siriقبل 10 أشهر as someone who is recently getting into C# .NET Core, Java looks like hell. 2
  • @
    @matstark776العام الماضي I think one of the most problems when you're beginning to learn Spring, maven and other things related to Java it's the documentation, sometimes id="hidden10" class="buttons"> don't explain the concepts very well and provokes a slow learning. Nice video! ....وسعت
  • @
    @user-yv7hk7tg2fالعام الماضي Spring Security is a huge topic in Spring.I can said i spend over 1 month to figure out what is going on, but no doubt, it is powerfull, but also hard to learn 2
  • @
    @andym2723قبل 5 أشهر To fully understand spring or spring boot. It helps to understand the Jakarta ee native api as it applies to tomcat or Jetty. Or full blown with wild fly. id="hidden12" class="buttons"> I know containers are the future but spring boot is black magic after especially after an intermediate config. .net is easier and straight forward because it’s made to work in it’s environment, as a calibrated Lego piece. ....وسعت
  • @
    @noname78520منذ 2 سنوات From the init of my developer experience I worked mostly on java and i learned dotnet 6 this year. dude i'm never wan't to back to use java.. id="hidden13" class="buttons"> the difference is huge.. in every single aspect, asp net and entity core are waaay better than java + spring or another huge rare framework of java ....وسعت 26
  • @
    @m_stfمنذ 2 سنوات php is the most popular i guess, is there something in it ? 1
  • @
    @TheCameltotemقبل 7 أشهر "Bean, what the fuck is a bean" Literally thought what you said out lmao.
  • @
    @Beetle_in_the_Anthillالعام الماضي Spring is really powerful but it is very huge. But for big enterprise apps it's one of the best variants 1
  • @
    @Qrzychu92العام الماضي so, I don't get why people hat on EF Core. Just do the repositories at all, the DbContext is a repository on its own. To get all todos you don't id="hidden14" class="buttons"> really need any LINQ, to get a thing by id you can use linq, or a DbSet methods.
    And I guess, authentication is always a mess :D will you try ktor to compare it to spring?
    ....وسعت 1
  • @
    @trickyagent127العام الماضي Yeah the hardest thing to find is explanations on HOW a lot of this stuff works, though I've found Teddy Smith: has a decent playlist that not only goes into how to use Spring Boot, but also he gives basic explanations on how it works ....وسعت
  • @
    @lucasmontecالعام الماضي You should give this another go with more time. Experience at least creating a Cron worker thread.
  • @
    @sauravbhatta5303منذ 2 سنوات Hey dude!
    What’s the plan for 23?
    2
  • @
    @nerminkarapandzic5176العام الماضي You have probably chosen the hardest part, Spring security is very powerful but also really complex (needlessly imo) and the docs/content you can find online honestly mostly sucks. 14
  • @
    @theyreMineralsMarieالعام الماضي Love it or hate, Spring pays the bills. 12
  • @
    @FDominicusالعام الماضي How can one expect that there will be no learning curve?
  • @
    @humanardaki7911العام الماضي "There are only two kinds of languages: the ones people complain about and the ones nobody uses". -Bjarne Stroustrup
    maybe we can extend this to frameworks as well ;)
  • @
    @coffee22ableمنذ 2 سنوات Actually, I think EFCore is much better.
    - I don't think these magic queries will be suitable for complex real scenarios.
    - I like id="hidden18" class="buttons"> the idea of migrations, I need to know how my class chnges will be translated, like if I rename a property will it drop the column and create a new one or it will rename the column.
    - many to many is much cleaner in EFCore.
    - The Generics in java is just converting to objects under the hood, the language design is worse than C#.
    ....وسعت 23
  • @
    @akindurosegun2459العام الماضي It's not really magic. so the idea of SpringBoot is to Bootstrap your development process, but if you really need to do the most niche stuff, there id="hidden19" class="buttons"> are tons and tons of configurations you can do, I'm talking XML or Configuration classes, it uses the builder and Factory patterns heavily for this. Great video bro ....وسعت 2
  • @
    @quachhengtony7651قبل 11 أشهر i like my migrations thank you very much 1
  • @
    @gylkagالعام الماضي I really wish people would stop doing this thing where they try a complex tool they never used before for an hour and give there opinion to an audience. id="hidden20" class="buttons"> That's the definition of uneducated, baseless opinion. You haven't done the absolute basic todo-app level stuff and thinking that if you couldn't figure it out in an hour by yourself without reading documentation - then it's the tool that is the problem. And we're not even talking about complex stuff (the stuff it was actually meant for), complex scenarios. That is so. weird, to say the least. ....وسعت 49
  • @
    @doniyor7370قبل 8 أشهر Spring JPA not having migrations is just that… no migrations. Spring just creates the initial schema for you, and nothing else. For actual production migrations you have to use something like Liquibase or Flyway which is worse that EF migrations. ....وسعت
  • @
    @Do6poالعام الماضي try to use php laravel - you will love this framework) 3
  • @
    @sudarshanshah2243قبل 4 أشهر Java is love. Spring Boot is expression of it in best of sense.
    Everything is easy to configure and conventions are easy.
    Anything can id="hidden22" class="buttons"> be integrated with it with ease and seamlessly.
    I am proud to be a Java Spring Boot developer. It's breeze to do development with Spring!
    ....وسعت
  • @
    @ethannr1العام الماضي I get the vibe you just downloaded intellij and hit record 2
  • @
    @dennisdepper2388العام الماضي As a Spring developer I can confirm that Spring Security is by far the worst Spring project. But good job anyway! 4
  • @
    @user-zf1pl6wj4nالعام الماضي As a .Net Core developer, I don't find any reason to swtich to Java or include in my skills. Everything that is done in Java and it´s frameworks can also be done in C# and .Net. 2
  • @
    @HappyHorgeالعام الماضي You should definitely try out Nest JS
  • @
    @carlosboyanosky8044منذ 2 سنوات Funny watch you kinda lost while doing something new haha. This is how I feel in most of your videos trying to following them xD 1
  • @
    @SXsoft99العام الماضي meanwhile PHP Laravel, you just run a console command and it generates the entire login scafolding, be it in vanila form, react, vue, etc :)) 2
  • @
    @lasgegasالعام الماضي Java is my starter language. And then got job as dotnet dev. It's so much easier and I can understand my code better. Goodbye to annotation, goodbye id="hidden24" class="buttons"> to and goodbye to ResponseEntity. One thing I miss is date data type ....وسعت 5
  • @
    @MsFico2العام الماضي Yeah, I have to rant as a person that has been working with Spring for about 3 years now.
    First off, Spring Security is so bad they decided to id="hidden25" class="buttons"> deprecate it and they just say "Look, if you want u can use it, but just use Keycloak or some other service, you're going to have a MUCH better time". Like, it's giga bad. Your implementation was also quite simple and you had a hard time, imagine if you want to add custom properties to those users, what if you wanted to generate your own tokens with a custom hashing function, what if you wanted JWT, like, it's just horrid.
    Secondly, Beans are actually just singletons and are left over from the OG Spring. In Spring Boot they are mainly used for small configuration setups where you have some class that exists and you can't alter to make it a component/service/controller or whatever else, so you define it as a bean so that you can do DI with it. How it works with Spring Boot is that you create a class, and then specify whether it's a @Service, @Component, @Configuration, etc. (something like in .NET Core, but instead of having a separate config/Program file you'd do it on the class itself with an annotation).
    And finally a rant on JPA. It's fantastic and magical and that's the main reason I'm still sticking with Spring rather than .NET, I can't stand the EF Core, but Many-To-Many relations are SO BAD it's unbelievable. General rule of thumb in Spring developer circle is try to avoid implementing those relations, and if you have to, create an intermediary entity that will have 2 one-to-many relations and then try to avoid fetching them as much as possible. For custom queries we have a ton of different possibilities like QueryDSL, JPAQuery, @Query and a whole slew of other options, so it isn't painful in the slightest (only thing I'd maybe call painful is transaction management since it does TOO MUCH magic).
    Sorry for the rant, and thanks for coming to my Ted Talk.
    ....وسعت 12
  • @
    @nathansnowالعام الماضي Hahaha I think you'll find the single liner login is actually a zero liner login.
    If you simply add the spring security dependency to the id="hidden26" class="buttons"> project and then run it, spring security gives you a login page by default, and there's even developer login credentials logged to the console when the app starts.
    Adding users, user details services, roles, and authorities is more involved though.
    Also the method you wrote to find a student by id, was actually already defined for you because it's part of the JpaRepository you extended.
    JpaRepository has a bunch of predefined methods you can use including save, saveAll, findById, delete, deleteById etc.
    Also, you can abstract more boilerplate code with tools such as Lombok, which will take care of all your getters, setters, constructors and tons more, and also JpaBuddy that will help create and configure your entity classes and repositories etc.
    I think with a little more context is worthy of a second opinion don't you?
    ....وسعت 1
  • @
    @WoodmanFFMالعام الماضي JPARepositories are nice - mostly.
    You can define a lot of simple queries by simply adding a method to the interface like "findByUsername(String id="hidden27" class="buttons"> username)" and Boom you can search for the field "username" in your table.
    And yes, "findByUsernameAndZipcodeAndFavoritecolor(String username, int zipcode, MyOwnColorType favoritecolor);" will work as well.
    The automatic migrations are where it gets difficult - because it doesn't automagically catch ALL things it should migrate.
    E.g. you have a field mapped to a varchar(30) and want that to be a varchar(50) - it won't migrate automatically and you'll end up writing your own migration scripts again.
    ....وسعت 2
  • @
    @sebastianbejarano350العام الماضي "The fuck is a bean" LOL Hahhahahahha I was like that when I first learned spring
  • @
    @ankeshkapil3129العام الماضي The problem with java is a lot of big corporates are using it in production and thats why it cant introduce any major breaking changes
  • @
    @plurallyplurally7948قبل 9 أشهر I'm coming from C/C++ & Go and I feel like Spring meanders a lot! Too many files to create and a lot of unnecessary jargon. It's giving me id="hidden28" class="buttons"> a hard time. I believe the goal of a framework is to simplify the operations in a language but with Spring I don't think its doing that! ....وسعت
  • @
    @IssaFramالعام الماضي I don't understand why anyone would ever use EF migrations. Great for simple apps but can always be a disaster for enterprise applications. Use actual id="hidden29" class="buttons"> SQL scripts for deployment. And all the model classes can be generated easily. ....وسعت
  • @
    @VincentFreeالعام الماضي I've been a java dev but I never liked spring. Say clear if you can. I've used better things on the JVM for web development like vertx 3
  • @
    @rofgarالعام الماضي Yeah, Java dev 9 years of experience here. I agree with you completely, Spring sucks. The funny part is, that there are a lot of less known frameworks that are way more intuitive and easy to use. 1
  • @
    @IssaFramالعام الماضي Java using property injection seems dirty. Construction injection ftw
  • @
    @DWS-123العام الماضي From my view, I think EF Core is better compared to Spring JPA. EF Core has more transparent flow for you to see, but Spring JPA just gives you magic and id="hidden31" class="buttons"> you don't understand the flow why it works and why it does not work. Magic is very troublesome for developer to troubleshoot in real life scenario where you have to pray hoping the code magic works for your entire development journey. ....وسعت 9
  • @
    @kobibr9362العام الماضي You need that xcsrf token fo each request. You get it from the previous request and append it to the next one. And why is everyone so mad at Spring security? id="hidden32" class="buttons"> Show me you better, jerry rigged version of security and I will ripe it out and in like it was never there. As a consultant who move every year to a new company, I have seen some criminal security on applications because people thought that Spring security was complex and they would be better with there own simple security. To make it worse people take it at heart when you find these security issues and see you as trouble maker. They feel like you are forcing them to use Spring security. I dont force them, I tell them keep the jerry riggers force but make it right. If there is any security issue I am going find it. They always abandon simplification in favor of Spring security once they understand how a request dispatcher can fuck you up. ....وسعت
  • @
    @nicholasferrara8028قبل 5 أشهر Should have tried kotlin with spring boot
  • @
    @rizaanjappieالعام الماضي A real world highly scalable apps will need custom tweaking. Dotnet wins
  • @
    @Hitokiri0010العام الماضي Jaja let’s not do anything stressful and he goes with spring 2
  • @
    @jrkmkeالعام الماضي ITT person who has years of experience in one framework complains about not knowing how to use an equally huge framework instantly.
  • @
    @Vortex-gz8seالعام الماضي Everyone here in the comments is mentioning they can't imagine using the auto generated repo queries for complex queries and that is absolutely correct. id="hidden33" class="buttons"> You aren't supposed to. The auto-generated queries are only for getting entities for updating. For complex and/or read-only queries you write JPQL (Java Persistence Query Language) which looks very much like SQL. You can also just write native SQL. You do both by using the @Query annotation, in the case of native sql you add a "nativeQuery = true" property to the Query annotation along with your query. ....وسعت 2
  • @
    @zvadoمنذ 2 سنوات Im a dotnet dev but im transition to java in 3-4 will look for java job. Higher pay more jobs. 6
  • @
    @CameronGellerالعام الماضي I decided to keep watching for some weird reason lmao. This vid is so funny lmfao
    Dude doesn't know what dependency injection is?
    He id="hidden34" class="buttons"> did something that's wrong, then got the correct thing to work, and is surprised it works?
    The project has no structure, bestie just copied/pasted code with some minor changes and thinks it'll work as expected. That's what I did in my first year
    Bro didn't know what a Bean is. Did he google it? Nah, why should he?
    ....وسعت
  • @
    @user-qf2xk1fg6eالعام الماضي Привет! Так ты так целую рубрику можешь на канале открыть <наименование языка> глазами дотнетчика. Я бы с удовольствием заценил. Не все же время топовый обучающий контент делать, иногда хочется просто балду попинать) 4
  • @
    @CharlesBurnsPrimeالعام الماضي It's not fair to compare a Java technology when you are accustomed to .NET. Start with PHP, Perl, or some other janky system and you will be far more impressed with a Java technology. 1
  • @
    @adamc1694منذ 2 سنوات I have come across many frameworks (PHP, JSP, Java Spring, Python Jango, DotnetCore) and here is my take.
    ORM : Steve Jobs's WebObjects which id="hidden37" class="buttons"> was developed some 30 years ago still has the best ORM. It hasn't changed much since yet as of today nothing can come even remotely close. It has a GUI tool to do the Object/Table mapping. It can map not only database tables into entity objects but also the Relation (one-to-one, one-to-many, many-to-many) in between. It has a built-in centralized repository system called ObjectStore. And then each session has its own EditingContext to keep track of changes (snapshot) only. The result : one million users need the same records from the database, only the first user request will fire up a SQL. The rest will automatically fetch from the internal ObjectStore behind instead. Of course everything is configurable like how long to keep the cache and etc. I confess. In the past I had developed complex systems without the need of writing a single line of SQL. I look at SQL so primitive.
    Component : Again WebObjects has it some 30 years ago. At first I was so puzzled/confused of why the need of all these server side JavaScript frameworks React, Angular, NodeJs??? After diving in to investigate, my immediately feeling was WTF. After 30 years these web frameworks still don't have its own DOM and therefore must rely on NodeJs which came from Chrome and then React, Angular to run on NodeJs. All these frontend/backend different languages, tools.I'm speechless. Until DotNetCore Blazor, my goodness finally.
    It really depends on the complexity of your project. Just to display certain dynamic info or a simple HTML form PHP, JSP is fine. And then Spring, Jango has MVC. Template system make reusable HTML possible. DotNetCore Razor page MVVM is better than MVC because once your project grow, it will be hard to keep track of which controller to which view. And stateful component Blazor is a totally different class. Once matured, third party vendors like Mud, Syncfusion, Telerik can make developing complex UI real easy.
    ....وسعت 2
  • @
    @fieryscorpionالعام الماضي I use to work with Java and always hated its verbosity and awful documentation.
    After trying .NET 5, I never went back.
    I don't understand id="hidden38" class="buttons"> why companies keep using this awful language.
    Thank you for this video!
    ....وسعت 15
  • @
    @TheNacropoliceمنذ 2 سنوات Java is genuinely a horrid language when compared to things like C#, and even JS/TS once you get comfortable with their paradigms. 4
  • @
    @shaikh.quadeerالعام الماضي i can write backend with mysql in less than 20 min in spring boot crud app
  • @
    @hstivggfghyhgfg8359العام الماضي Man what the fuck it took me minimum of 40 hours to do all of that and 99% of time spent debugging and configuring.
    how you did it in 20 minutes
  • @
    @dromedda6810العام الماضي me being a c programmer: dafuq is a factory ? 1
  • @
    @YidingHeالعام الماضي Noted: stay away from Spring Security. 1
  • @
    @someoneWhoSpeaksAboutالعام الماضي C'mon, the whole enterprise is based on spring.
  • @
    @Van4kkالعام الماضي Try Laravel bruv, this is the real one terminal line authentication ))
  • @
    @nempk1817العام الماضي (java from microsoft) dev trying java, cool i guess.
  • @
    @eddyhanderson6916منذ 2 سنوات I think Spring team should think better about the way they give name to things. That's not intuitive.
    @AutoWired to indicate injections;
    @Bean to indicate wherever that can be Injected; WTF
    1
  • @
    @lucasmontecالعام الماضي .net core doesn't offer not even 20% of what spring does. 4
  • @
    @birkheadcالعام الماضي Well I'm only 20 seconds into the video but I already spotted your first mistake. Really starting off on the wrong foot with your choice of drink when working in Java. 2
  • @
    @spellskreenfulالعام الماضي if u complain about magic, try Laravel xD 2
  • @
    @orhancekic_العام الماضي you are high on video, aren't you? 1
  • @
    @AlizerLeHaxorالعام الماضي as a c# programmer java is like a huge downgrade comparing asp and springboot 5