Hey there, welcome back friends let's move forward. In our last video we have built this very simple, easy to understand application. And that the URL is again very simple. It is simply localhost colon 8080. And when we click on these links, the links will work just perfectly and we will add the business logic for these links later down the line in this video. Alright, so there are a couple of things first of all, which we will discuss First of all, the application in which we are executing this application is a standalone application.
We are not running this application on a web server, right? If we check the server tab there is no server attached to this environment at all. But still we are able to run the application and the reason is very simple. As we know we are making use of this Tomcat embedded version of the web server. So this is great that we can like simply run these application, we can simply render a Spring Boot application which is cool. Now, as we can simply run the application there is no concept of context part when it comes to Spring Boot application, if I navigate to properties, and I show you there is no configuration local application related to web project, as a result, the URL will be based on the base URL, which is localhost and the port number, which is nice, which is cool.
So friends moving forward when it comes to sts a spring tool suit and when we develop application using sts This is cool, but if we wish to create multiple applications simultaneously, then it is a little tedious to work with Eclipse, we need to create different workspaces and then simultaneously work on Individual workspace. That could be a little tedious. So we will keep this store as it is under our STS. But now moving forward, we will start making use of IntelliJ IDEA. That would be the choice of ID going forward. So let me minimize this.
Let me minimize Chrome as well. And in the desktop we have this IntelliJ IDEA. Let me open this up. Now friends in here using this panel, we can create a new project we can import a project we can open a project everything is school, but where is the project, we don't have a specific panel to start Spring Boot project right from IntelliJ. This is a community version there is no specific support of a web application development to know how to handle this very simple. We will quickly navigate to start.spring.io and this will give us a Maven project.
We will go with defaults we will give the group as studies you dot pardon me org dot steady z and artifact would be Samsung. Good enough everything else a school we can use any version of Java Java eight is good we can also go with the Java 12 It is okay. Let us go with Java 12 that would be better. And when it comes to dependency, we will search for web and we will add this dependency spring web starter. Everything seems to be good enough and we will generate the project. And now this will give us this zip file.
Let me bring this zip file to the text up. Here we go. Let me minimize this and let me click on Import project and on the tech stop, chooses a steady easy dekstop we have this Samsung dot zip file let me click on OK and this will give us this warning the reason being it cannot add does zip project so we need to extract it so we will extract it here we get a folder by the name of Samsung again we will import and at this time we will select the Samsung folder and we will click on OK and this will give us this panel. This is a Maven project we will click on Next. And here there are a couple of settings you can make the changes based on your requirement You can also change the root directory I will keep it as it is later down the line I will make the changes let me click on Next.
I will keep the defaults everything is as it is next project name Samsung. Okay that is okay. Let me click on Finish. Alright, so now this will open up this project and it will also try to build it the project certainly. So now let's We open this up. And now, if I show you there is this class Samsung application class, right and there is only one line.
And all of these stuff is something which is known to us how spring application works and when it comes to IntelliJ we have this play button, we can directly run this application, let me run the application. And even though there is nothing but at least we will able to run this application and when it will run this application, there will be something which is not correct, there is something which goes wrong, it will say that the Tomcat connector configuration to the listener on port 808 failure to start the reason why it is failed to start because our application our store application already uses this 8080 port, what is the solution? The solution is again, application dot properties These files in here, if I simply search on this, we have something known as server dot port. And this This setting is important. Let me copy this real quick.
Let me minimize this. And here let me open up application dot properties and further store we will choose the port as 8081. It is always good to make use of non default port, always give a port number to your application. Alright, so for this store application, which is on our sts ID, we will give the port as 8081. Let me open up the Samsung application. Let me open up application dot properties.
And the port will be 8082. All right, so now let me rerun the application. Samsung application. And let me also rerun the application which is the Store app So it would like sun as Spring Boot app. All right. So you are getting it, we have simply updated the port numbers and the both applications.
Let me check both applications are running. Right now. If we navigate to this 8080 port, it will give us error, it is not there. But now with updated port number 8081, we will get this application up and running, which is nice. And if I navigate to localhost 8082, then this will give us this white label error. This means that our application the Samsung application is indeed running.
Alright, so now let us quickly add couple of things. First of all, let me quickly add a new package inside this Samsung application. So it would be like adding a new package name would be resources, or the name would be resource Here we go and inside this resource, we will be adding a new Java class and that this is what this is giving us all the information related to Samsung brand. So, the name would be like Samsung All right, let me click on OK and that will make this as a rest controller alright. So, this time we are not making use of controller annotation, rather we are making use of a rest controller annotation and we will map it again. So, the request mapping will be slash Samsung typical and we will be adding a new class it would be a public class return type would be a list.
So, we will return a list list offered devices. So, let me add glass again so it would be like a device class List of device that to Samsung produces and name would be devices or in fact, it would be like get devices that would be a better name. So it would be like get device devices. There won't be any parameter to start with and it will simply return a list. Now, in order to return a list first of all we need to create a list right. So it would be like a list of device devices equals new ArrayList Here we go.
And now let us quickly resolve this thing. So in here we will be creating this new class. So I will hover upon this I will click on this icon create a new class device And the package would be or good dot steadies u dot Samsung dot device and that's it. Let me click on OK and inside this device package, we will get this class device this will be a very simple portal, there will be couple of things. Firstly string name and string type. Good enough.
Now let us insert couple of things in order to insert I will make use of the shortcut and insert so first of all we will add a constructor. We will select this Select None option and add a default constructor. Then we will add a parametrized constructor. Select both options. Okay, and then we'll insert a couple of more things like a getters and setters. Again below select both options and finally, we will also add the to string method alright.
So, this this looks good to me and now again let us navigate to Samsung resource let me maximize this and here let me also add the package and in order to insert the package we will make use of alt plus enter shortcut here we go. And then let us add couple of values couple of entries inside this devices. data structure so, it would be like devices add new device and firstly name would be for example, note nine what happened oops, note nine I missed on nine and 10 Type for the smartphone All right, semi colon, I will copy this entire part pasted once again, this time I will give the name as s 10, for example, and it is again a smartphone. All right. Now friends, we will return we will return the list which is okay. Here we go, this is nice, this is good.
And if you also have the request mapping, but the request mapping is based on the class, we need to also add the request mapping for this method. So, let us quickly do that. So, it would be like request mapping and mapping would be very simple. It would be like Samsung slash devices. Let me save the changes. And here let me double click on this file.
And let me rerun rerun this application and if we have done everything correctly then when I will navigate to slash Samsung slash devices we will get a list let me show you. So here slash Samsung slash devices will give us a list fantastic. So, for micro service our micro service is ready and now we will use this micro service inside of our store. So, whenever the user clicks on the samsung link we will list these two these two smartphones as a list. So, how to make use of a micro service and how to integrate how to call a micro service is something which we will see in our next video. The length of the video is kind of little Hi, my apologies for that but in our next video I will try to keep it short.
Alright, so that's it for today. I hope you guys enjoyed this video. Thanks for watching. Have a nice day and take care