About the site
Introduction to this course
Welcome to Some Spring Stuff.
Tell me, do you want to learn how to create projects that can make the use of the web?
On this website we will try to learn the basics of Spring Framework by creating a small project step by step. I will guide you through all the steps required to create the project from launching your IDE up to the last lines of code.
Together we will write a very simple news portal. The platform will allow verified users to view all news we have to display on our website and to add their own.
This little tutorial is targeted at people who got basic knowledge of Java and fundamental programming skills. If you don’t feel that you are quite familiar with what those are, I strongly encourage you to learn some Java before attempting this course.
I also have to say that if you are already an experienced Spring developer this course will not be useful to you either.
The idea is of Some Spring Stuff is to give you basic knowledge of something more complex than simple for-loops and if-statements. The hope is that you would gain enough of fundamental skills in order to create simple real-life projects starting from scratch.
After following through the whole course you will have a decent understanding of technologies such as:
- Spring MVC
- Inversion of Control
- Maven
- XML files
- Apache FreeMarker Template engine
- SQL
- JDBC
- Hibernate ORM
- Jpa Repositories
- Basics of Spring Security
- Logging with log4j and slf4j
- Basics of Spring AOP
- Java Mail API
- JUnit 5
Why bother reading through this site?
I know that starting to learn a new technology can be very hard.
I remember when I started learning Spring I had many questions. It was not an easy job to understand what is going on, and I think that there are two reasons for that:
1. It does not make any sense what people say.
When I was listening to other programmers explaining to me how something works I couldn’t understand what was going on. It was due to my lack of understanding of what some technologies are capable of. But when that understanding had been developed, the words those programmers were saying magically began making a lot of sense.
One of the goals of this course is to give you this entry point into Spring development. I want to explain to you the fundamentals in the words that would make sense. Because when you will be familiar with them you will be able to start looking deeper into more complex topics with an ease.
2. I don’t know what I am supposed to learn.
Like every science has a lot of blocks it is made of, programming is an environment that makes use of a lot of ideas and technologies. And for me it is not usually a problem of identifying which technologies I would want to use in my project, but instead what technologies there are? What else can I do with the technologies I already know? What other major ideas I need to be aware of to become a better programmer?
I find it very handy to have some kind of a roadmap. I will try my best to put one together that will be useful to you.
If you also think that finding an answer to such questions is relevant, I welcome you to read through the website.
How to follow this tutorial:
Each page will contain a detailed description of what steps we need to take to get closer to our goal of creating the news portal. Each of these pages will also contain plenty of information about technologies that you need to know to be able to complete the appropriate stage of this course.
Some of the pages will also contain links to other, more in depth, topics. Those topics you don’t need to know to be able to do the stage you are working on, but if you desire to understand what you are programming a bit better I advise you to read through them as well.
I have to apologise in advance as the first part of this course will be very heavily based on theory. That will all be a necessary information that you need before you will be able to understand what is going on in the course. I tried to keep it as short as possible.
We are almost ready to begin!
Before we can start our learning I have to tell you a few things.
Firstly, I am not a professional Spring programmer. I learned this framework in 2020 and since then I have been creating my own small projects. I most certainly won’t be able to get into all the depth of every single question there is about Spring and back-end development. However, I have an advantage. As I was also going through this path of learning Spring, I know what are the topics that are convoluted and hard to get your head around. This, I hope, should prevent you from spending days trying to understand how something works and why. I will not use any complex terminology, and will describe everything as clear as I can.
Second of all, I have to admit that I have never attempted creating such tutorials before. I strongly encourage you to contact me via email, or use any contact from the footer of any page. I will try to update the information on the site so that this course becomes more useful.
Now with all that said, I think that we are ready to start.
What is Spring Framework?
1.What is a framework
Let’s start talking about what a framework is. A framework is a collection of written code that lets you make use of functionality without worrying how it is written. It is almost the same as using libraries that you didn’t write yourself. But there is a difference!
When you use a library you usually call some functions that you need to be carried in your own code. You make use of prewritten functions in your own code.
Framework on the other hand has so much of the prewritten code that the way you code will change. Framework will have realized some aspects and now you don’t have to know how they function under the hood. Just for example:
We might have a framework that makes it very easy for us to work with text files. The framework for us will establish the connection with the file, have multiple ways of writing in the data (left to write, up to down, write on other language, etc), analyse data for us in a manner that we want (for example count number of certain letters in a text, or translate the text to other language) and many other things. We won’t need to create tons of code to work with files, as the framework has done it all for us. Now when using this framework we don’t have to worry how to work with a text file, but instead we will need to worry how to use the framework that interacts with files.
2.What is the Spring Framework
So, what is the Spring Framework? It is a framework that lets us create web applications very easily. With its help, we can create a software that will be used to interact with data send online. It will take care of things like how to analyse the request our application gets from the user and many other things. We as web developers will need to know how to configure Spring and how to make use of its functionality to create useful web applications.
With all that said, let's jump into creating our news portal, so that we can learn Spring Framework!