Many young friends who are new to Spring Boot may have such questions, how to learn Spring Boot, should we learn SSM first? Today, combining with my own experience, I would like to tell you my opinion, and also recommend several Spring Boot learning materials.

1. What is Spring Boot

When we first began to learn JavaWeb, we used Servlet/JSP to do development, one interface to make a Servlet, very big, later we hide the domain or reflection and other ways, can reduce the creation of Servlet, but it is still not convenient.

Later, we introduced Struts2/SpringMVC framework to simplify our development, compared with Servlet/JSP, after the introduction of framework, productivity did improve a lot, but after a long time, we found new problems, that is, cumbersome configuration prone to error, to do a new project, first set up the environment, The environment is built to build, that is, a few lines of configuration, different projects, may be different packages, most of the other configuration is the same.

Java has a reputation for cumbersome configuration and a lot of code, and this is one of them. So what do we do? Spring Boot comes into being. Spring Boot is a new framework based on Spring developed by Pivotal team in 2013, which tries to simplify the bloated configuration in Spring and make Java development more lightweight and fast. This framework is very active. Officials are also taking it seriously.

Spring Boot provides the following functions:

  1. Provide a quick and easy start for all Spring-based Java development.
  2. Out of the box, if you have your own custom configuration, use the official default.
  3. It provides a series of generic non-functional functions, such as embedded server, security management, health detection, and so on.
  4. There is absolutely no code generation, and no XML configuration is required.

Spring Boot has made Java development easy again, and because it has really solved the pain points of development, it has become very widely used, and since around the beginning of 2017, Spring Boot has basically asked the question, The popular Spring Cloud microservices are also based on Spring Boot, so it is essential for all Java engineers to master Spring Boot.

From the birth of Spring Boot, we can see:

  1. Rather than reinvent the wheel, Spring Boot builds on the existing Spring framework, simplifying the cumbersome configuration of Spring.
  2. Spring Boot lowers the barriers to use in the Spring family, making it easier for newcomers to get started with the Spring framework.

Since Spring Boot is not a fresh start, should Spring Boot learn to skip SSM? Let’s hear it from Songo.

2. Whether to skip the SSM

This is a question that many people ask me, and my advice is: don’t.

Spring Boot is based on Spring. It is simple and easy to use, and many people will automatically skip SSM and go directly to Spring Boot. But when we look at things like automatic configuration in Spring Boot, conditional annotations, Java configuration, and so on, we don’t really see much that’s new. Java configuration is what Spring3 is starting to provide, conditional annotations are Spring stuff, and a lot of them are Spring stuff. It’s just that these things shine in the Spring Boot era.

That said, even if you skip SSM and go straight to Spring Boot, you’re still learning something in Spring, so in that case, we might as well sit down and walk through Spring.

Developers in every field face similar questions. After learning some good packaging frameworks, is there still a need to learn the underlying layers? Of course! Because the underlying stuff gives you a deeper understanding of what you’re currently using, and it allows you to quickly fix problems when they happen.

In fact, no matter what technology you want to do, you should have a solid foundation of knowledge, which is like fertile soil, can breed a variety of cattle people in different technical directions. Once you have a good foundation, you can learn any framework quickly. Today, you skipped SSM and went straight to Spring Boot. If Spring Boot doesn’t work and Pivotal builds a new framework based on the Spring framework, would you have to learn it again? But if you learn the various uses of Spring from the start, you’ll be able to get started quickly on whatever framework comes out of it. Further, if you have studied AOP, Ioc/DI in Spring, you will find that many frameworks are very similar, and that these are the core ideas, so it will be much easier for you to learn frameworks outside of Spring.

If you are not familiar with SSM, you can reply in the background of the public account separatelyspring,springmvc,mybatisGet songko hand knock more than 50,000 words dry goods tutorial.

3. What to learn

So Spring Boot learning to learn what things? Here’s an example of an advanced route:

  1. The most basic, of course, is Spring/SpringMVC stuff.
  2. Collocation a variety of page template to use, for example, the Jsp/Thymeleaf/Freemarker/Groovy Templates, etc.
  3. And various SQL database integration, as well as some common data persistence framework, such as JdbcTemplate, MyBatis, Jpa and so on.
  4. And various NoSQL database integration, such as Redis, MongoDB, Elasticsearch, etc.
  5. With Security management related knowledge, such as Spring Security, Shiro, etc.
  6. The use of caches, such as JCache and Ehcache.
  7. Integration with messaging middleware, such as ActiveMQ, RabbitMQ, Kafka, etc.
  8. Data verification, scheduled tasks, and email sending.
  9. Use of various kinds of monitoring.
  10. Combined with the use of WebSocket.
  11. Related components in Spring Cloud.
  12. .

These are just a few of the more common techniques I’ve listed, and there are a lot of other things that can be extended from each of these techniques, and you can learn them one by one, depending on your own situation. There are also many third-party frameworks involved, such as Redis, MongoDB, RabbitMQ, etc. The advent of Spring Boot has made it easier to integrate these components with the Spring family of products, but it doesn’t make it any easier to use these components in their original way, so there’s still a lot to learn about Redis, MongoDB, RabbitMQ, and so on. Take Redis as an example, learn to Redis, learn to integrate Spring Redis, and then look back at Spring Boot integration Redis, it is simply too easy (everyone in the public account back to Redis, there is a songo hand beat Redis tutorial).

Of course, learning Spring Boot will eventually lead us to rapid development and micro-services. Therefore, technologies like Docker and Spring Cloud also need to be understood.

4. How to learn

Spring Boot development to today, online information and books are now more and more. At the same time, we should also pay attention to the following points:

  1. Read the source code. Different from other new framework source code you may be overwhelmed, because Spring Boot is based on Spring, so as long as you have a solid Spring foundation, look at Spring Boot source code can be said to be no pressure. If you look at Spring Boot source code feel pressure, that may be your Spring foundation is not reliable, this time might as well put down Spring Boot, to review the Spring.
  2. Whenever you learn a knowledge point in Spring Boot, you might as well think about how to use this function in the Spring framework, how to configure, both sides understand, verify each other, deepen the understanding of a knowledge point.
  3. Keep an eye on Spring Boot developments. Unlike traditional frameworks, which may be updated once or twice a year, Spring Boot updates are very frequent, and each new update brings something interesting. New apis may be added or old apis may fail, so keep an eye out for them.

Finally, I’ll give you a few of the resources that I follow regularly.

4.1 Official Documents

To be honest, the official documentation of Spring Boot is the most clear and easy to understand among all the official documents I have come into contact with. Most of us have come into contact with some third-party open platforms for development, and the documentation of many platforms really makes us want to ridicule.

But the official documentation for Spring Boot is very, very friendly. Although it is in English, in fact, it does not have high requirements for English. In fact, it is easy to understand its meaning. When I have questions about a knowledge point in Spring Boot, I usually choose the official document.

  • Docs. Spring. IO/spring – the boot…

Of course, if you are too slow to open the official document, Songko also helped you download the latest version of the PDF, public account background reply SpringBoot2.2.4 can be obtained.

4.2 Spring official blog

Every time a new version of Spring or Spring Boot is released, Songo goes to see what’s fun and what’s new. I can’t read the source code and summarize its changes, so how do I get authoritative information first hand? Just follow the official Spring blog.

Open the Spring official website, and in the top menu there is an option called Blog, where you will be informed of any updates to the Spring family of products.

Songge also recommended that we pay more attention to this Blog, on the one hand can timely receive first-hand information, on the other hand can improve English, kill two birds with one stone. Stay at home, make a pot of tea, carefully taste a taste of this website, really pretty good.

A Blog address:

  • spring.io/blog

4.3 Chinese Materials

When it comes to Chinese materials, there are songo’s own online tutorials and offline PDF files. This 274 page tutorial covers all the common uses of Spring Boot2, including both offline PDF downloads and online learning sites.

Online tutorial address:

  • springboot.javaboy.org

Download the PDF document offline and reply to Springboot in the background of the official account to obtain the baidu web disk address.

4.4 Learning Cases

Beyond the literal stuff, some online examples are also crucial. Here are two repositories that are recommended, all of which are based on Spring Boot2.

First of all, the supporting case of the article on my public account:

Making address:

  • Github.com/lenve/javab…

Gitee address:

  • Gitee.com/lenve/javab…

Most of the cases in this repository are for Spring Boot, and one advantage is that these cases have corresponding explanation articles, each case has a corresponding article, isn’t beautiful.

The other warehouse is a relatively complete warehouse I organized, but there is no corresponding explanation article:

Making address:

  • Github.com/lenve/javab…

Gitee address:

  • Gitee.com/lenve/javab…

5. Summary

Your information is not expensive, the key is to start to learn. University time, some students are keen to collect all kinds of information, computer hard disk is full, but do not learn, these information no matter how much is useless.

Of course, if you are interested in Spring Boot+Vue+ micro personnel +Spring Cloud video tutorial recorded by Songgo, you can also check out this article: Spring Boot+Vue video tutorial is coming to the end, xi ‘an Jiao Tong University teachers want to come to a set! .