I am learning Spring Boot by doing projects with it. I want to ask you guys, what should a Spring Boot developer know? What things should I know or milestones to set for me to be job ready? Can you give me examples of hard tasks that you did? Would like to implement some of them in my projects for getting more experience in the Framework.
I am not new to programming but I am looking to move towards the web. I have knowledge of JAVA and SQL.
Thank you in advance!
Let me give a pretty naive answer, that works for me. I have interviewed a lot of guys who were applied to Spring vacancies, and NEVER I've asked any Spring Boot related questions.
As Spring Boot is most about auto-configurations, best candidate should know how it works under-the-hood.
Best advice here, to my mind, would be to try to implement your pet projects WITHOUT using Spring Boot, with plain Spring, and then convert it to Spring Boot. This way you will know and understand exactly, what powers Spring Boot gives you. =)
Related
As part of a new web application project, I'm planning to learn Spring. I started to read through the Spring framework reference. While I was googling, I came across Spring boot. What I understood is that spring boot helps to build application much faster than spring by reducing configuration. Now I'm little confused whether should I continue learning spring or jump to spring boot. My intention is to understand how spring works as a framework rather than a few features. So please let me know, as a beginner what should I do? First, learn Spring and then spring boot or vice-versa.
Update
Ok, I know it's a while since I asked this question. I kind of have an answer (personal one)
I started with Spring Boot and so far built one Spring Boot REST application. Yes, as others said, Spring Boot, helps you to get started quickly and being new to some language/technology, I would love to see a working module ASAP. So Spring boot helps you with that.
Later depending on your interest, you can start exploring in-depth how Spring boot does that magic.
So, in summary, go with Spring Boot and then deep dive to understand the underlying concept. Again this is my opinion.
Thanks, everyone for your inputs/suggestions.
If you want to develop web applications especially micro-services, I will recommend that you should learn Spring Boot first.
The first reason is that there are many resources and examples on
web, so you can easily find what you need.
The second reason is that Spring Framework (including Spring Boot) is
suitable for PaaS environment especially Pivotal. Therefore you can
rapidly deploy your applications without too much effort.
First of all, learn how Spring applications work.
Spring applications are based on the Object Relation Model. You need to understand the annotations and why we use them. Then you have to learn how Spring MVC works. Up to here, both Spring and Spring Boot are similar. Basically, Spring Boot is made so that a Spring-based application can be made very easily. Spring Boot is very good framework for the Web and other.
After learning the above things, then you can jump easily onto Spring Boot. However, if you jump directly to Spring Boot you will see there are many such things which are not described in the Spring Boot tutorials, since many of them expect that you have some prior knowledge of Spring.
I'm planning to start learning Spring but when I open any spring tutorial, I find many modules like Spring REST, spring MVC etc.
I'm really confused on how to start with spring, from which module to start, how are these modules related to each other, should I go through all the modules??
I tried searching many sites to answer my questions but couldn't find satisfactory ans, so thought of posting here. It would be great if somebody can guide me in this regard.
Spring is a java framework which provides solutions to several problems. So i guess it really depends on what you are planning to learn. The most important to learn first is understanding what Dependency Injection and inversion of control means. When you understand this you will understand why the rest of the frameworks are designed as it is. i suppose learn Spring IoC first since this is basically the core component of Spring Framework. Link: http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/beans.html
After learning Spring IoC, you can go on learning each specific Spring frameworks which address specific problems. For example:
Are you interested in Web development? --> Spring MVC
Are you interested in storing data to database? --> Spring Data
Are you interested in developing web services / web apis --> Spring REST
http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/overview.html
Start with Spring Core Module, which is the heart of entire Spring.
Spring Core Module helps in Injecting Dependencies (java objects) into
the Application at Runtime.
Please refer below URL for more details:
http://www.springbyexample.org/examples/core-concepts.html
A good knowledge of design patterns is essential for learning any framework in Java.
These Youtube videos can give you a good understanding of basic Spring.
As explained in the previous answers, start learning with the Spring core. You need to have a sound knowledge of servlets, JSP, Hibernate (ORM's) to understand the advanced topics.
I am very very new to Spring and I don't even know Java EE. Can I proceed with Spring? If not , then how and what things do I have to gain before moving to Spring?
Please also guide me spring flavour and the best books for the specified flavours.
Please also give brief about each flavor so that I can gain knowledge about what is used for what.
You don't need to learn Java EE for learning Spring. Spring is not Java EE and Java EE is not spring. You can develop Java EE application using spring and without spring.
From the wikipedia : The Spring Framework is an open source application framework and inversion of control container for the Java platform.
Before moving to spring, you should be acquinted with design patterns. Effective Java and Head First Design Pattern is a good book to start. You can also find multiple source online.
Once you through about design pattern. You can find the Spring very much easy and its uses.
Start with Spring core. Then move to the other sub-projects of spring.
Documentation in Spring Source is best place to start..
You have to first learn Java EE especially JSP and Servlets. Get some detailed information on MVC pattern. You also require some hands-on knowledge on Web servers. Then you can move on to learn Spring.
This is a very subjective question; what teaching aides work best depend on the individual. As far as videos go, I would start with youtube with the springsource channel for Spring related information, and even some Java EE 101 type stuff. Also have a look at slideshare.net for presentations on various Java EE and Spring topics. good luck!
I know java well, and have some experience in EclipseLink, Hibernate, JSF, Grails and some other stuff. but now I wanna learn Spring MVC for web apps and maybe for the sites. and should I learn Spring Framework before begin Spring MVC, or not?
In short, yes. Spring MVC borrows a lot of concepts like dependency injection from Spring, so you need to burn these concepts in before learning Spring MVC. For example, just create a simple Java project, create a few beans, understand the concepts of how a container / injection / wiring work, and then move on to implementing them in Spring MVC.
The most obvious benifit is you can integrate Spring with other web frameworks that you might already be familiar with. That way you get the best of both worlds, and don't have to learn Spring MVC until you have to.
This tutorial explains connecting to a database the spring way, and explains basic Spring concepts while at it. You could then follow it up with the Spring MVC tutorial.
Spring has an easy learning curve, (not to master it of course) so I would suggest learning them together on a small-scale test project.
I don't know if the question is pertinent for stackoverflow, but in any case I think learning Spring MVC is the best way to take a first step to learn Spring, in fact many Spring tutorials start with a Spring MVC application.
I have been working on mobile platforms j2me , android , etc. I have sound knowledge of core java and android. but now the situation is like I need to take on projects on spring and hibernate framework.
Can someone suggest me how should I start my preparation. What all technologies I need to understand before starting spring and hibernate?
Here is a Step-By-Step Spring tutorial. It's a little outdated but it should help you get started with Spring.
This blog has some good examples of Spring/hibernate which I have found very helpful.
Here is another tutorial/sample application. At the bottom of the page you will find some more links that could help you.
Good Luck!