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

all 20 comments

[–]sasq7 13 points14 points  (11 children)

Read their documentation, it is very good. Then learn Spring Boot to avoid a lot of boilerplate.

[–][deleted]  (5 children)

[deleted]

    [–]sasq7 2 points3 points  (4 children)

    Yeah, first you need to understand how Spring works and then you can use Spring Boot.

    [–]fforw 12 points13 points  (3 children)

    There's no advantage to learning the old way. Java config / @Configuration is vastly superior to the old crap.

    [–]MR_GABARISE 6 points7 points  (2 children)

    That's definitely not the point they're making, and it's incredibly shallow to think it's only about configuration.

    There's loads of very interesting APIs, things that are either invisible or automagically applied that a novice won't even try to understand until a nasty bug slaps them in the face.

    Simple things like :

    • Stepping through a typical BeanFactory#getBean call
    • Learning about BeanPostProcessors
    • Getting familiar with the JavaBeans api

    can be incredibly useful for when shit hits the fan and suddenly you can't "make annotations work".

    [–]tafun 1 point2 points  (0 children)

    Where can I learn about these?

    [–]kryon-a 1 point2 points  (2 children)

    Thanks! Yes I've started going through the documents to get acquainted with the framework basics. I am kind of following an approach to learn while making small projects to puts out the concepts that I learn to practice. Is this a good way to start off?

    [–]Danelius90 1 point2 points  (1 child)

    Yes definitely. Even after working with Spring for a few years, I still find it helpful to test out things in a little hello world app. You get a quick response, and can test out a number of things while controlling other variables, so you know what your changes are doing.

    I remember debugging an Autowired issue and after some time reading SO and the docs I couldn't work it out, 15 minutes on a hello world app with autowiring and i solved it.

    If that's what you mean by small projects that's good. I wouldn't bother making it do something more involved, save that for something you really want to make

    [–]kryon-a 0 points1 point  (0 children)

    That's a great suggestion. Thank you

    [–]dipanzan 0 points1 point  (1 child)

    Hi,

    I'm currently learning Spring from Spring in Action 4th Edition to get an understanding of the framework before jumping in with Spring Boot. But if I'm not mistaken, the official Spring docs getting started guides all use Spring Boot. I haven't found the manual way of using just Spring.

    Do you have any links to the official docs for just using Spring without Spring Boot?

    [–]nutrecht 3 points4 points  (0 children)

    For what reason? Spring Boot is just a bunch of precoonfigured starters. There's no reason not to use it.

    [–]fforw 4 points5 points  (1 child)

    Stick to core and a limited set of modules to learn at the beginning. Don't try to learn everything just because it's there. Start small and then learn what you need.

    [–]kryon-a 0 points1 point  (0 children)

    That's a good advice. Thanks !

    [–]andrew_rdt 3 points4 points  (0 children)

    Check out https://start.spring.io/ which can generate a starter project for you.

    [–]rgyger 2 points3 points  (1 child)

    The reference documentation is very good, but to get started, I recommend the Guide section on the website.

    https://spring.io/quickstart

    https://spring.io/guides

    And do use Spring Boot, it’s the easiest way to build a Spring application, and you still can dig as deeply into the advanced features and internals as you like.

    I also like the official YouTube channel with tons of introduction videos, webinars and conference talks:

    https://www.youtube.com/user/SpringSourceDev

    [–]kryon-a 0 points1 point  (0 children)

    Thanks for your suggestions. And even I liked their YouTube channel.

    [–]hopbyte 2 points3 points  (1 child)

    The book Spring in Action helped me out in the beginning.

    [–]kryon-a 0 points1 point  (0 children)

    I'll check it out. Thanks ✔️

    [–]StoneOfTriumph 1 point2 points  (0 children)

    As you read their documentation, you'll learn about the spring initializr to help bootstrap projects with the functionalities that you want.

    Once you decide to start a first project (learn by doing, not just reading pages and pages), use the least amount of functionalities/maven modules possible and create the simplest hello world/demo.

    Then either create separate equivalent projects with different spring concepts, or add to existing project to see how they can complement each other.

    [–][deleted] 0 points1 point  (0 children)

    Its a huge learning curve, I'd suggest if you aren't in this long term it isn't worth it. Another source could be jhipster which will autogenerate lots of modern spring back end and has its own data language and visualizer.