Recently, I'm thinking of getting a job aiming to improve my skills, so I'm new to frameworks, but using frameworks I'm thinking of creating a portfolio.
Currently, I am retired, so I plan to create a portfolio in about a month, Post an article as a memorandum at that time.
Build a simple inventory management system using Spring Boot as the content of the portfolio. We plan to continue designing DBs and screens, deploying to AWS, etc. I first read some introductory books because I needed to know the specifications of Spring Boot.
Here, you can use the latest book to read the application even from those who have no experience with Spring Boot. Introducing books that will give you the knowledge to build.
The prerequisite knowledge required to read the books to be introduced is roughly as follows. ・ Knowledge of Java8 language specifications (Oracle qualification Java8 Gold acquisition level) Since the book to be introduced is implemented in Java8, Knowledge of Java 8 is essential. Among them, StreamAPI appears frequently, so Java8 Gold is used to move the functional interface. You should know
・ Basic pattern of Java8 design pattern A basic design pattern is used as the Spring architecture, Many books also explain based on the contents of design patterns. Patterns to keep in mind include singletons, factory methods, adapters, builders, Proxy etc. need to be in advance as knowledge. Some books use simple UML class diagrams to explain. In particular, the concept of delegation used to explain DI must be understood even if you have little experience with Java.
・ Basic knowledge of Linux (LPIC level 1 acquisition level) When building the Spring Boot environment, some explanations are based on command operations, so You need to know the basic commands of Linux As an example, call RestAPI while developing in the local environment. For example, call it from a local process on the command line
・ Basic knowledge of DB The introductory book to be introduced uses H2DB, MYSQL, and POTSGRESQL to perform DB operations. Understanding basic SQL for reading and writing data, connection pool, JDBC specifications, etc. considering Java cooperation It is necessary to know how to read the ER diagram, normalization, isolation level, and propagation level.
·tool You need to know how to use Eclipse. This is because I feel that there are not many books that explain in a polite manner. As a build tool, it is better to understand the movement of Maven at the command level. Even if you don't, the books introduced below can handle it, but it may get stuck. It is better to have it as knowledge.
Finally, I felt that I needed to read the code of the application using Java in the field. The reason is that Spring Boot books are a tool for building entire applications. Since each chapter of Spring is not related to each other and there are a lot of sample code partially posted, In the first place, if you do not understand what kind of function the application is made up of, This is because I don't understand how to implement the code described and what the code is for.
Based on the above, for those who are planning to learn Spring Boot (Spring) from now on I would like you to read the books introduced from the top in order.
The point of this book is that it is excellent and "you can write code that works for the time being". When building an application, it can be read without the prerequisite knowledge required to implement Spring. If you copy the program described in the book, It is written so that you can understand the rough specifications of Spring naturally.
Many of the books introduced below do not work with simple sutras, and you will learn Spring. There are many things that you can't get the prerequisite knowledge, but this book will work if you really copy it.
Some of the Spring versions are older, and some don't work. If you understand the basic specifications of Java and can read the stack trace, you can search the net. Of course, you don't even need to be able to read the Spring framework stack trace at this stage.
As a description of the book, what is the Spring framework, the advantages of DI, the basic movement of Spring MVC, It describes the movement and practical usage of AOP, DB linkage, how to implement RestAPI, and the basics of vulnerability countermeasures using Spring Security.
It is structured so that you can imagine the whole picture of the Spring application if you proceed while copying the sutras. No other book like this is the one I've been looking for, and I can conclude that it's the first book a beginner should read.
I definitely recommend reading from this book first.
This book explains how to use Java build tools. Even in the book introduced at the beginning, there is a content that starts Maven in Eclipse and acquires the library. You can see what's actually going on on the command line.
Also, some Spring books use Gradle as well as Maven. You need to know the basic movements in this book.
We recommend that you actually operate the command and continue reading.
This book is also used to understand the basic Spring movement. The content to be implemented is similar to the book introduced at the beginning, Some write different programs, Some are not in the first book.
It's also a review, and you need to read it to get used to Spring.
From here, the level goes up a little. We recommend that you read it together with the following books, You should read this book as a reference.
Throughout the book, database linkage is described. Acquisition of connection pool when linking with database Its behavior when mapping DB tables and Java objects. It describes how Java works with DB.
When dealing with Spring, it is important to know the behavior of EntityManager and TransactionManager I think it's very important, so I felt it was better to read this book early.
Read the whole thing once, copy the exercise program, and if necessary We recommend that you reread the important parts.
Actually, when you have trouble writing SQL or Entity class when you make your own application It may be good to read as needed to understand the detailed specifications.
However, since there are many explanations of isolation level and propagation level, it is necessary to understand these specifications first.
Since it also explains the architecture of Spring DATA JPA, I felt that it was a must-read book to improve my applied skills.
While learning frameworks, which language and which framework can be used A book that I felt was not very important. Being aware of the architecture, why frameworks are preferred I think it will be a good opportunity to develop applied skills while understanding little by little.
The behavior of the architecture may not be understood from this book alone We recommend that you read the relevant parts of the following books together.
The content of this book is very difficult for beginners. Based on the architecture, not a book that specializes in writing programs This is because many of them explain the flow from the abstract concept to the implementation of the actual class.
At this stage, there are a lot of places that I can't read, Not just in a position to handle frameworks When I was in a position to implement the framework from now on It seems to be very useful as a model case.
In this book, there is a part that explains each function of Spring separately from the function of Spring Boot alone. Since it accounts for the majority, it is recommended that you read the contents of the Servlet while searching the net.
In this book, especially because the content of the architecture may not be understood suddenly We recommend that you read it together with the following books.
This book is a little old. Therefore, we recommend that you read the necessary parts based on the books introduced above.
In the above book, such as application server parameter settings, etc. I felt that there were many things that were lacking in words, so I recommend reading this book as a supplement.
At the moment, it seems that many of them have become legacy writing styles, It seems to be important for understanding the basic movement and architecture of MVC.
There are many parts I haven't read, but as a supplement to deepen my understanding of Spring. I think you need to read it as needed.
That's all, but it's been about a month and a half since I started learning Spring Boot. I was able to grasp the overall movement of Spring in the above book.
In the future, I especially want to deepen my understanding of the architecture without being obsessed with legacy writing. I would like to encourage you to read the thorough introduction to Spring.
Even if you are new to the framework, please read it in the order of introduction above.