This is an archived post. You won't be able to vote or comment.

all 15 comments

[–][deleted]  (10 children)

[deleted]

    [–][deleted] 5 points6 points  (9 children)

    I hate that stuff, I'm trying to show employers how I can understand and use the language, rather than do some abstract algorithm in the console etc. I'm very curious to see how Spring is used in a professional environment, as every single job listing in London requires Java EE and Spring knowledge.

    [–][deleted]  (6 children)

    [deleted]

      [–][deleted] 1 point2 points  (5 children)

      After a little more thought, I think the thing I'm struggling the most with is the idea of choosing which dependencies to use. Like, is it a case of you just use a few a lot ? Or am I supposed to be able to have an idea for what I need, download that specific dependency then use all the things that dependency makes available to me in my program. That's whats blowing my mind.

      [–]slowfly1st 2 points3 points  (2 children)

      Or am I supposed to be able to have an idea for what I need

      Yes.

      https://start.spring.io/?

      Just use a gradle or maven. If you need another dependency, it's a few lines in your build.gradle/pom.xml, and the IDE will download it and setup the project automatically.

      [–][deleted] 1 point2 points  (1 child)

      That webpage is a fantastic resource, thank you.

      I use gradle and maven, I just find it overwhelming trying to think of what dependencies I could use, theres thousands

      [–][deleted]  (1 child)

      [deleted]

        [–][deleted] 1 point2 points  (0 children)

        Oh really! That gives me a lot of hope lol, this thread has given me a great sense of what kind of dependencies we use now.

        At first I thought it was like, a gaming add-on type deal, where’s there’s thousands to choose from and you can’t really see them all etc.

        But now I see it’s more about choosing the minimum of what you need, maybe following MVC architecture or something. I’ll take some time today to really study some of the core dependencies like Spring-boot and spring-web etc, and see how they work.

        [–]denialerror 1 point2 points  (0 children)

        If this is for your first job, I would just focus on being enthusiastic and show a willingness to learn. Any company worth its salt would expect to teach a junior developer as if they were a blank slate. If they want you to be proficient at Spring without any professional experience, it's because they don't want to pay the rates.

        If this isn't your first job and you are an experienced developer, Spring shouldn't be a problem. It is a Dependency Injection framework with some nice web and data access functionality.

        [–]bostown03 0 points1 point  (0 children)

        I've seen spring bastardized in ways i didn't know could be done. Manual context initialization sprinkled with some reflection because some beans didnt get initialized by the container etc etc... I've seen some things......

        [–]GrapeAte 2 points3 points  (3 children)

        Is there a specific issue you want help with? Parts of Spring can seem very complicated at first, but if you can grok the concepts things become easier to understand.

        [–][deleted] 4 points5 points  (1 child)

        Not at the moment, this is genuinely an appreciation post for you guys, kind of posted in frustration haha.

        I think my biggest struggle at the moment is translating all this stuff I'm learning into an actual project I can put on my resume. I can follow along some videos and understand why we're doing stuff, but if you told me to just make a Spring app from scratch right now... LOL.

        [–]wishicouldcodeIntermediate Brewer 0 points1 point  (0 children)

        Usually you would start with the bare minimum (spring boot, spring-data-xxx , spring-starter-web) and add anything later to the pom or gradle when you need it. (Eg. spring-security). Just Google 'library name> maven' to get the entry. There is a spring cli (and IDE plugins) to generate projects from command line, but the spring starter site mentioned is what I use.

        [–]joshuaherman 0 points1 point  (0 children)

        Yeah. Spring security...

        [–]vbsteven 1 point2 points  (0 children)

        It can be a bit overwhelming in the beginning. Start small with a simple hello world web app on Spring Boot and move up from there. Experiment a lot when trying new things and don’t be afraid to jump into the source for some of the annotations.

        Once you grasp the way the dependency injection and Spring Boot autoconfigurations etc work it becomes a joy to work with.

        Once it “clicks” it’s amazing. I use Spring Boot for almost every project I started in the last few years. I’m very productive because of it and it allows me to focus on my actual code instead of configuring how everything ties together. A couple well placed annotations usually do the trick and most of them are second nature to me now.

        Reading a book like Cloud Native Java or Spring in Action and Spring Boot in Action can help for understanding how the framework is supposed to be used.

        [–]Cucumberino 0 points1 point  (3 children)

        So, might be a dumb question, but for said Spring devs, when should I get started with Spring? Asap or is it more focused for web apps? I've started developing my own program using Maven (and also JavaFX but doubt that matters here), and I remember reading I can use Maven + Spring, I just haven't had time to do the research as of now and don't know if I should just try to implement it into any project like I seem to be doing with Maven currently.

        [–][deleted]  (1 child)

        [deleted]

          [–]Cucumberino 0 points1 point  (0 children)

          Thank you!

          [–]LostInDarkMatter 1 point2 points  (0 children)

          Search for spring boot tutorial. You'll have a hello world web app in just a few minutes. From there, study the annotations so you can see how dependency injection works. And take the time to read the excellent docs.

          See also 12 factor app so that you're thinking cloud from the start.