Have you ever looked at a piece of code, project or application and thought “what on earth is going on here”? I have many times and so have many other developers, so ages ago, Design Patterns were introduced to keep coding clean, and organised.
You probably organise your code already closely to a few design patterns without even realising. Today, I’ll introduce the Factory Pattern as a method of structuring your code.
The Factory Pattern allows objects of similar logic to be created to a common interface.
Tutorialspoint has a great example involving shapes.
Summarising the example, you can have a shape factory that creates triangles, squares, circles.
This may seem rather abstract, but for example, you may want to make different types of database connection for customers and want to get their details, which they would have a Customer interface, but a Customer Factory for all the individual details so that they are not exposed to the client.
What is Spring Boot?
Spring Boot is a Java framework. Spring Boot shouldn’t be confused with Spring Framework and more information can be found here.
How do I get started?
The Spring Boot webpage is a great place to start. You can install via Maven (or Gradle).
Great, why should I do this?
Spring Boot is great for setting up web services and other applications quickly and without too much complication, but allows the developer to configure parts to make diverse applications without spending too much time setting up the project.
Give it a try and see what you think 🙂
In this post, I will share how to make a very basic Spring Boot application and database with MySQL with Raspberry Pi.
- I will assume you know Git and Source Control and you know how to set up a Raspberry Pi.
Installing MySQL Raspberry Pi
Using some information from this guide, you will need to install MySQL and drivers. Php is not needed for this.
- Open up your terminal on your Raspberry Pi
sudo apt-get install mysql-server --fix-missing
- Agree to all of the install terms
- Create a password for your MySQL database when required
sudo apt-get install mysql-client php5-mysql
- Agree to all of the install terms
MySQL should be installed correctly on your Raspberry Pi.
You will need Apache Maven to run the application on your Raspberry Pi.
I will summarise this tutorial as this is what I used:
Before starting developing the Application, I advise you use an IDE on a main computer and Git with source control to transfer it over.
- Create an account on GitHub to store the project that will be created in the next part
- Once created, clone the repository onto the Raspberry Pi and your laptop or desktop development environment
From Spring Boot’s website we’ll follow this guide.
You should build this application on your GitHub repository that you created earlier and pull it via command line on your Raspberry Pi as this will keep the development fast.
After the previous post to What is Java I will now provide a quick start up to installing Java, so you can start to develop your own applications.
Is Java Development Kit and Java Runtime Environment installed?
To check this, on linux and mac OS open terminal (for Windows, open cmd) and type:
This will show the JDK version.
Will show the JRE version.
Please note – it is important that the JDK and JRE versions match – for example 1.8.X for both, where X can be any number, if it is 1.7.X and 1.8.X for the JDK or JRE (or vice versa), the code will not compile as Java needs to be the same version for compilation as running.
Typically, on a mac, it would be installed. If not, Oracle’s official installation JDK and JRE will provide the information to install it.
For Linux, here is the official installation JDK and JRE.
For Windows, here are the System Requirements, then install the JDK and JRE.
If things start to go wrong, here are some quick points to check:
- Is the JDK and JRE installed already?
- Are the versions the same or different?
- For Windows – Is the JDK and JRE on your PATH variables?
- For Mac and Linux – Is $PATH got the correct path to your JDK and JRE?
For further information – please go to Oracle’s Official Website for installation tips and requirements.
Quoting from Wikipedia – Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented.
So, what does that mean?
- Java can execute several computations in overlapping time periods – for example, multithreading is used to execute several tasks at the same time.
- Java has classes – therefore you can use inheritance and encapsulation.
- Java has objects – you can define attributes of the object and use them in the code.
Other Features Developing Java
- Java uses a compiler – when developing Java, you need to use a Java Development Kit (JDK) to compile the code into byte code that is run on a Java Virtual Machine (JVM)
- Write once, run everywhere – Wikipedia, you can run Java bytecode on any JVM on any machine, what this means is you do not need different flavours of code to run on different systems like Linux and Microsoft – providing they have a JVM, you can run the code on all of them.
This is your very first post. Click the Edit link to modify or delete it, or start a new post. If you like, use this post to tell readers why you started this blog and what you plan to do with it.