Updating Service Layer

Spring Boot: Build Your Website Real Quick Restful Micro-Service With Database Connectivity
8 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$99.99
List Price:  $139.99
You save:  $40
€93.87
List Price:  €131.42
You save:  €37.55
£81.12
List Price:  £113.58
You save:  £32.45
CA$137.18
List Price:  CA$192.06
You save:  CA$54.87
A$155.31
List Price:  A$217.44
You save:  A$62.13
S$136.23
List Price:  S$190.73
You save:  S$54.50
HK$783.54
List Price:  HK$1,096.98
You save:  HK$313.44
CHF 91.15
List Price:  CHF 127.61
You save:  CHF 36.46
NOK kr1,099.95
List Price:  NOK kr1,539.98
You save:  NOK kr440.02
DKK kr700.47
List Price:  DKK kr980.69
You save:  DKK kr280.21
NZ$169.19
List Price:  NZ$236.88
You save:  NZ$67.68
د.إ367.23
List Price:  د.إ514.14
You save:  د.إ146.90
৳10,966.71
List Price:  ৳15,353.84
You save:  ৳4,387.12
₹8,335.60
List Price:  ₹11,670.18
You save:  ₹3,334.57
RM477.75
List Price:  RM668.87
You save:  RM191.12
₦129,687.03
List Price:  ₦181,567.03
You save:  ₦51,880
₨27,809.84
List Price:  ₨38,934.89
You save:  ₨11,125.05
฿3,699.53
List Price:  ฿5,179.49
You save:  ฿1,479.96
₺3,253.91
List Price:  ₺4,555.61
You save:  ₺1,301.69
B$520.72
List Price:  B$729.03
You save:  B$208.31
R1,908.44
List Price:  R2,671.90
You save:  R763.45
Лв183.62
List Price:  Лв257.07
You save:  Лв73.45
₩137,876.14
List Price:  ₩193,032.11
You save:  ₩55,155.97
₪375.46
List Price:  ₪525.66
You save:  ₪150.20
₱5,749.22
List Price:  ₱8,049.14
You save:  ₱2,299.92
¥15,473.86
List Price:  ¥21,664.03
You save:  ¥6,190.16
MX$1,704.86
List Price:  MX$2,386.88
You save:  MX$682.01
QR364.60
List Price:  QR510.46
You save:  QR145.85
P1,387.89
List Price:  P1,943.11
You save:  P555.21
KSh13,348.66
List Price:  KSh18,688.66
You save:  KSh5,340
E£4,815.06
List Price:  E£6,741.28
You save:  E£1,926.22
ብር5,677.79
List Price:  ብር7,949.13
You save:  ብር2,271.34
Kz83,552.47
List Price:  Kz116,976.81
You save:  Kz33,424.33
CLP$95,916.40
List Price:  CLP$134,286.80
You save:  CLP$38,370.40
CN¥724.24
List Price:  CN¥1,013.97
You save:  CN¥289.72
RD$5,896.78
List Price:  RD$8,255.72
You save:  RD$2,358.94
DA13,474.35
List Price:  DA18,864.63
You save:  DA5,390.28
FJ$227.30
List Price:  FJ$318.23
You save:  FJ$90.93
Q777.19
List Price:  Q1,088.10
You save:  Q310.90
GY$20,906.69
List Price:  GY$29,270.20
You save:  GY$8,363.51
ISK kr14,110.58
List Price:  ISK kr19,755.38
You save:  ISK kr5,644.80
DH1,012.31
List Price:  DH1,417.28
You save:  DH404.96
L1,784.74
List Price:  L2,498.71
You save:  L713.97
ден5,778.05
List Price:  ден8,089.50
You save:  ден2,311.45
MOP$806.20
List Price:  MOP$1,128.72
You save:  MOP$322.51
N$1,920.04
List Price:  N$2,688.13
You save:  N$768.09
C$3,678.13
List Price:  C$5,149.53
You save:  C$1,471.39
रु13,346.54
List Price:  रु18,685.70
You save:  रु5,339.15
S/372.84
List Price:  S/521.99
You save:  S/149.15
K379.72
List Price:  K531.63
You save:  K151.90
SAR375.05
List Price:  SAR525.09
You save:  SAR150.03
ZK2,565.63
List Price:  ZK3,591.99
You save:  ZK1,026.35
L467.14
List Price:  L654.02
You save:  L186.87
Kč2,372.43
List Price:  Kč3,321.50
You save:  Kč949.06
Ft37,010.78
List Price:  Ft51,816.58
You save:  Ft14,805.79
SEK kr1,089.15
List Price:  SEK kr1,524.86
You save:  SEK kr435.70
ARS$87,115.87
List Price:  ARS$121,965.71
You save:  ARS$34,849.83
Bs691.97
List Price:  Bs968.79
You save:  Bs276.81
COP$392,689.60
List Price:  COP$549,781.15
You save:  COP$157,091.54
₡50,183.20
List Price:  ₡70,258.49
You save:  ₡20,075.28
L2,467.01
List Price:  L3,453.92
You save:  L986.90
₲739,276.32
List Price:  ₲1,035,016.43
You save:  ₲295,740.10
$U3,839.04
List Price:  $U5,374.81
You save:  $U1,535.77
zł405.30
List Price:  zł567.43
You save:  zł162.13
Already have an account? Log In

Transcript

Hey there, welcome back friends, let's continue our journey. Now friends, in our last video we have discussed couple of things and we have already discussed about this crud repository and by extending this particular repository, we get the functionality of crud related operations, which is cool enough nice stuff. Now friends using an object of this particular interface post repository, we should be able to perform the CRUD operations inside our service layer. So, let us check our service layer. Now. Now friends have been we have deleted this static list we have seen in our last video that there are like multiple issues now.

So first of all, let us comment out all the methods First of all, accept one method. So first of all, we will fix the issue with this get POST method and then later down the line. We will handle Rest of the methods now in here, first of all, we would like to have a object of this particular interface. So, let us create an instance of this interface, it would be private post repository repo And now, we will inject this particular object whenever we will create an object of the service layer. So, it would be like auto wired. Now, this particular annotation as a cool annotation This will help us inject object of post repository inside object of post service.

So, this is a good stuff. Now, friends before implementing the business logic inside our method get posts, let us quickly check the controller again. Now, inside the controller again there are like multiple issues. So, let me do one small little thing. I will again comment out all the methods Except the method which is handling the mapping slash posts, all right, so this is nice. Now in here, to understand one thing, we are creating an instance of service layer and then we are calling in the get posts method.

Now, when we inject or we make use of this auto wired annotation, what exactly happening is, we are outsourcing the process of object creation to spring. Now, let me show you the controller. Now, in our previous videos, we were making use of this methodology where we were creating new instance of the service layer inside our methods. Now, this way of coding is not good enough, it is always good to create only one instance and use that instance in our methods. So in here, first of all, let us create an instance in here. So it would be like private post service Service now, we have this reference and the process of object creation would be outsourced again by taking help of this annotation or provide here people alright.

So, this is good, all right. Now, using this service object we will call this get POST method and now things would be much much better. So, it would be like service dot get posts or rights This looks good to me and now again let us navigate to post service layer. And now let us fix this particular method. All right. So, first of all in here, we will do a repo dot and we will get like multiple options right and one of the option is find all or take a note of it, this particular method is iterable and it will return an iterable object So, this method will do what this method will give us an entire set of rows from our database table and this is what we need in order to get all the posts from the database right.

Now, in order to create a list first of all let us create a list in here. So, this would be list of post type and we will give the name as list all right, and we will iterate over the object which this method will return and then we will create this list and finally we will return the list right. Now how we can iterate over object very simple we will make use off a for each loop so it would be like for post, post, colon, report dot find all All right, so this is good. And inside this for loop of verbal ad The elements inside this list. So this would be like list dot add, post. Amazing.

And finally later down the line, we will return the list. I guess there is some kind of issue. All right, so we need to initialize this object. It would be like, new. Add a list. That was a silly mistake, though.

We must initialize this list. And then finally, we'll return the list. All right, so this looks good to me. Nice, cool stuff. Now, before executing this method, there is a small little thing in here. When we have added the properties inside this application dot properties file, we were making use of this particular line where we were initializing the value for gpa.hibernate.dl l value.

Now I have researched on this particular value and it turns To be that we don't need this particular initialization. So we will get rid of it. And only these three values, these three initialization are good enough for us. All right. Now finally, let us execute this particular application. All right, let me show you the console real quick.

Our application is up and running. Let me open up Google Chrome. Alright, so here is our REST client, let us do the get request to to our URL slash posts. And there is some kind of issue and it is saying that there is no default constructor for our entity class. All right, so we have missed one point in here. Let me show you the entity class.

In our entity class, we must have a default constructor in order to get it going. So let us quickly add in a default constructor I have missed this point. So it would be like public post and then won't be anything inside this constructor that said, let me restart the web server. It will take couple of seconds. All right, so the web server is up and running. Let me show you.

All right. So the application is started. And now again, let us navigate to Google Chrome. And we will again send in the request to this URL. And here is the output now perfect, and this output is getting fetched from our database table. Let me show you.

So this is good stuff. This is nice. And this is how we are communicating with the database. Amazing. In our next video, we will deal more about the CRUD operations and we will try to fix the remaining functionality by uncommenting. The functionality for the rest of the URL patterns Alright, so a lot of interesting stuff would be handy.

In our next video I hope you guys enjoyed this video. Thanks for watching. Have a nice day and take care

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.