Full Stack Web Development with Angular and Spring MVC



hi my name is Bhushan welcome to full stack development with angular and spring MVC for those of you who don't know angular and spring MVC I will give you a quick introduction about these two technologies angular is one of the most popular JavaScript front-end framework for building web applications it uses typescript language to write the web application spring MVC is one of the most popular Java framework for building web applications using which we can build industry standard Java enterprise applications in this video series we are going to take an advantage of these two technologies and we're going to build a complete web application we are not going to build a simple hello world application we're going to build a fully fledged database application so what are we building in this video course we're going to build a book management system we're going to perform all the crud operations like creating a book reading a book updating a book and deleting a book so how do we build this application we are going to build this in two steps the first step we are going to build a REST API which is a book API we're going to use a spring MVC to build this book API this book API is exposing the five different service endpoints if someone make a get request to slash API slash book this will return all the books in a JSON format and if we make a get request to slash API slash book slash book ID this will give the book object in a JSON format and if you make a post request to slash API slash book this will create a book object in the database and if you make a put request to slash API slash book slash book ID this will update the book object in a database and if we make a delete request to slash API slash book slash book ID this will delete a book object from the database in the second step we are going to build angular front-end application and through that we are going to make a heist EDP calls to these service endpoints so this is the agenda for this course let's get started hi welcome back to the full stack development with angular and spring MVC my name is potion in this video we will be creating the maven project and we'll add all the dependencies to our application and we will create packages and we will set up our database by the end of this video we will be set up our application and we are ready to create an API so let's get started I am using the Eclipse IDE for the development you can use any other IDs like spring tool suit or IntelliJ IDEA or NetBeans IDE so if you are using the Eclipse to create a maven project go to file click on new and choose maven project click on this create a simple project skip archetype selection and click next give a group ID comma dot motion sirak or a defect ID I'm going to call this book API click finish this will create a maven project this will take a few seconds to create application and once it is done double click on the book API project and double click on the palm dot xml inside the palm dot xml we will be adding all the dependencies in interest of time I have already copied all the dependencies to our clipboard so I will paste it inside the palm dot XML if you look at this pomme de XML there is nothing to XML because on about every dependency how nicely commented out that why we are using the dependency for example this is for spring dependency and this is for spring ORM this is for hibernate and this is for c3p0 for connection pooling and this is for mysql connector like that I have nicely commented commented out that why we are using that dependency so by looking that comments you can easily understand there is nothing to explain in this boundary dot XML once you add the dependencies to this form not XML that's it you're never going to touch this bumboat XML ever again so once you added the dependencies say this and you need to update the project so right-click on the project and go to the mavin and click on the update project and click ok this will download all the dependencies that we have specified in this file if you go to the properties of the project and if you go to the Java build path and in the event dependencies you can find all the dependencies that I have downloaded or the jar files that I have downloaded and now let's create packages for our project so inside the source main Java right-click create a new package we are going to create a five packages one is for configuration and one is for controller and one is for Diego and model and service so let's go ahead and create the packages calm dot Bouchon sliggoo dot spring dot config this package holds the configuration for spring and hibernate the finish copy this and paste it and change this to do instead of configuration and we'll change this to controller model and service okay now we have created fire packages and we have to create a one more file which is a property file so inside the source main resources create a file choose other and filter for file choose the file which is inside the general folder and click Next and give a file name DV dot properties click finish alright now we have to create a database for our API I'm going to use a MySQL database for this API you can use any other databases you want so I'm going to use a MySQL workbench so open a MySQL workbench so inside this I'm going to create a database create database in the database name in this case it's book API execute the command and refresh the section you can see the book API so we have created this database in order to use this database or in order to select this database you need to use use commands use the database name in this case book API execute the command the book API is selected that's it we are not going to create a database tables because the database tables will be created by hibernate so we just create a database in this case so minimize this alright we have created the maven project and created a packages and also we created a property file we also set up our database so in the next video we will start writing a code for our API in the next video inside the configuration package we are going to create a few classes and we will configure the spring and hibernate well see you in the next video hi welcome back to the full stack development with angular and spring MVC my name is Bhushan in the previous video we have created a mavin project and we set up our database in this video we're going to configure the spring and hibernate before that we need to fill this property file the property file holds the MySQL properties like the driver name URL user name and password for the MySQL database and it also hosts the hibernate properties and the connection pooling properties you might have thinking that why we are using a connection pooling let me clear you whenever we are creating enterprise applications interacting with the database is very common so creating and establishing a database connection is very very expensive because we need to establish a network connection initialize the database sessions and we have to authorize the backend database due to this issue it is always a good practice to use a connection pool in our application so that will increase the performance and scalability of the application by using a connection pool we can reuse the already existing connections and prepare statements so that will avoid the cost of establishing your connections and c3p0 is just one of the library for connection pooling you can use any other libraries like BBC P and any other available connection pooling libraries you can use in this video series we are going to use c3p0 connection pooling okay enough talking let's write the properties so the first properties that we are going to write is a MySQL properties I'll write a comment so that you can refer it later my SQL properties so the first property is MySQL not driver how to specify the driver name comm dot MySQL dot CJ JDBC dot driver make sure the D is capital if you are using any other database then you have to find the respective driver name on the internet and write it here the second property is MySQL dot you are el JDBC : minus QL colon double slash localhost colon number 3 0 6 / the database name in the previous video we have created a database which is a book API and the third property is – Q dot user and we have to write the user name for the database in this case its root if you have given any other names then write it here MySQL dot bus world I have not set any password to my MySQL database so I left this option as blank if you set any password then write it here the next properties that we are going to write is hibernate properties hibernate dot show SQL I'll set this to true so this will show all the SQL queries in the console when we run an application you can also set this to false so that will not show any SQL queries in the console hibernate dot HBM to DDL non-auto I'll set this to update you can also set this to create if you set a create every time when you run the application all the database tables will be deleted and it will recreate so if you use update so it own delete any database tables it will just update the database tables so it's always recommended to use update the next properties that we are going to write is connection pool properties which is a c3p0 properties hibernate dot c3p0 dot minimum size of the connection pole is 5 I'll copy this and I'll paste it and I'll change this to maximum size which is 20 copy this and paste it the third property is acquire connection acquire increment this will tell us the number of connections acquired when the pool is exhausted I change this to 1 copy this and paste it the fourth property is a timeout I said this 2,800 which is a seconds fifth properties hibernate dot cpp 0 dot maximum statements in this case it's 150 all right we have written all the properties in the property file in the next video we're going to configure and spring and hibernate and we are going to read this property file and we will make use of these properties in the configuration thank you so much for watching I will see you in the next video welcome back to the full stack development with angular and spring MVC my name is Bhushan in the previous video we have written the properties and in this video we are going to configure spring and hibernate so let's get started there are two ways to configure spring and hibernate one is a XML configuration and second one is Java configuration the XML configuration is a traditional way of configuring spring and hibernate we will create an XML file and we will create a bunch of bean tax and we will configure spring and hibernate but now people are using a Java configuration because it is a way simpler than XML configuration we don't have to write too much of code in Java configuration we just have to use annotations so in this video series we are going to use Java configuration instead of XML configuration but if you are looking for an XML configuration under this video in the description section I provide a link to the XML configuration link as well you can go ahead and check out the XML configuration as well so for now let's concentrate on Java configuration so inside the configuration package we are going to create three classes let's create one by one so the first class that we are going to create is app config so right click on the package and choose new and select the class we will call this app conflict finish I'm going to annotate this with add configuration we have to tell spring containers that this is a configuration file and configuration how do we have to tell spring container that where the property file is located I'm going to use as property source and we have to tell where the property file is located in our case the property file is located in the class path class path : VV dot properties which is our property file name and I'm going to enable the transaction management at enable transaction management and we have to tell Spring container that which are all the packages we need to scan if we need to scan more than one packages then we have to use add component scans value this will take an array so inside the curly braces that components can anytime if you want to scan one package then you need to use add components can within the paranthesis comm dot bhushan silikal dot spring dot do and we need to scan service package as well so i'm going to copy this and I'll change this to service all right we have annotated this with the add configuration this will tell Spring container that this is a configuration file I had property source we need to tell spring container that where the property file is located at enable transaction management we have to enable the transaction add component scans we have to tell spring container that which are all the packages we need to scan inside the app config we are going to create two pins on each local session factory bean and another one is hibernate transaction manager inside the local session factory bean we will read the properties from the property file and we will set the properties to the local session factory bean and we will return the local session factory bean in the hybrid transaction manager we are going to set the session factory so let's create those two beans don't create some white space public local session factory bean which is a return type I'm gonna call this get session factory I'm going to annotate this with add B make sure this local session factory bean which is from hibernate five if you imported from hibernate 3 then Eclipse will show that the method has been deprecated so change this to hibernate 5 because we are using a hibernate 5 inside this I am going to create a local session factory being objective local session factory bean I'm gonna call this factory being I am going to create a properties object which is from Java to teal package what I call this props alright a comments that we are setting the JDBC properties props got put this will take two arguments one is name and value the value we are going to read from the property file so to read a property file we need an environment variable up above I'm going to create a private variable which is of type environment which is from the r dot spring framework dot Cole dot env I'm gonna call this env and I'm not going to create an object for this I will Auto wire this environment so that the spring container will create an object for us at Otto and now env dot get property and before that we have to set a key the key which is driver so we need to import one more statement which is import static org dot hibernate dot C F G dot and we're on mint dot start this will gives us the driver for us and we have to read from the property file within the double quotes I will copy this MySQL or driver don't write it just copy and paste it I will copy this line and I'll paste it now we have to set the goal to create some white space I'll set the hybrid properties setting hibernate properties you now we are going to set the c3p0 properties which is a connection pulling properties setting c3p0 properties you now we have to set this properties to the factory bean factory bean dot set hibernate properties and I'll pass the props the next factory bean dot set packages as I said before the tables will created by hybrid so we have to tell hybrid that which is the package that has to scan in this case con dot Bhushan Sri good dot spring dot model so the model package will holds the model classes so by scanning those model package classes liber8 will create a tables for us so finally we are going to return factory now remove these white spaces now we have to create a one more beam which is a hybrid transaction manager public hibernate transaction manager get I'm gonna call this get transaction manager as I said before this is importing from the hibernate tree so we have to change this to hibernate five I'm going to narrate this with ADD beam inside this I'm going to create a object for Hyper a transaction manager I've got a transaction manager I'm going to call this transaction manager transaction manager dot set the session factory I'll call the get session factory that we have created above and I'm going to call get object method and finally we're going to return transaction manager that's it this is all about the app config file so inside the app config we have created two beans which is a local session factory bean and hibernate transaction manager inside the local session factory bean we have read the properties from the property file and we said that properties to the local session factory bean and we will return the factory bean or the local session factory bean and inside the hibernate transaction manager we have set the session factory and we will return the transaction manager which is hybrid transaction manager but we have not yet done the configuration we have configured only one class we have to create two more classes that we are going to do in the next video thank you so much for watching I will see you in the next video hi welcome back to the full stack development with angular and spring MVC my name is Bhushan in the previous video we have created an app config file and we have read the properties from the property file and we have created two bins in this video we are going to create two other classes so let's get started the next class that we are going to create is web config in the configuration package right click go to new and click on class and I'm going to call this web config and click finish and I'm going to undertake this class with the add configuration because we need to tell spring container that this is a configuration file at configuration and we need to tell spring container that we are using a web MVC so use add enable web MVC and we need to tell spring container that where the controller classes are located so we need to use add components can we have to specify the base packages call dot Bhushan circle dot spring controller and this web config extends a special class called web MVC configure adapter so let's extend this extends web and we see configure an adapter if you don't extend this class with a web MVC configure happen then we are not able to achieve the web when we see we have to tell spring container that we are extending the web MVC container adapter it's a predefined class that the spring table has provided that's it that's all about this web config file let's save this let's create last and final class for our spring and hibernate configuration right click on the package go to new choose class I'm gonna call this my web app initializer we have to extend this class with the abstract annotation config dispatcher servlet initializer yes that's a pretty big name but we have to extend this because the spring people has provided that special class in order to configure spring and hibernate x times abstract connotation configuration dispatcher servlet initializer and we have to override 3 methods in this class one is a get route config classes second one is get sublet config classes and the get servlet mappings I'm going to implement those methods and I'll remove these comments alright first let's write a code for get group conflict classes we have to tell spring container that which is a route configuration classes in this case the route configuration classes is appconfig and the get servlet configuration classes which is a web config let's go ahead and write a code for that return new class it's an array app.config cut class written new class it's an array as well inside the curly braces web.config dot class return you string within the curly braces within the double quotes slash so this ends our spring and hibernate configuration the my web app initializer extends abstract annotation config dispatcher sublet initializer we have to override it three methods get route configuration classes which is a app config and get sunlit configuration classes which is a web config and get sunlit mappings which is a slash and the web config will extends the web MVC configure adapter we have to tell spring container that we are using a MVC architecture and the app config will read the properties from the property file that's all about the configuration of spring and hibernate don't worry too much about this configuration if you don't understand don't worry because nothing to do with this configuration it's a one-time configuration so once you have done the configuration and for every application the same configuration applies so just go ahead and write these configurations and that's it and you'll never going to touch this configuration files again we are only concentrating on controller behave o model and services that's all about this spring and hibernate configuration in the next video we are going to create a controller ba-bow model and service classes thank you so much for watching I will see you in the next video hi welcome back to the full stack development with angular and spring MVC my name is Bhushan in the previous two videos we have covered the configuration of spring and hibernate in this video we are going to create our very first model class so let's get started inside the model package right click create a class I'm going to call this book and click finish I'm going to undertake this with at entity the hibernate looks for the add entity and it will create a table with a name book let's import this which is from Java X dot persistence inside this I'm going to create a three properties ID title and author private long id private string title private string author I'm going to undertake this with ID with the add idea notation we have to tell hibernate that this is a primary key I'm going to annotate this with a generated value strategy is equal to generation type not identity I am going to create a setters and getters for this select all click OK I am going to override to string method as well alright we have created our very first model class we have to undertake this class with the add entity and we have specified the name as book so the hibernate looks for the add entity annotation and the hibernate will create a able for us with the name book and ID title author are the columns for the book table and our title sorry our ID will be a primary key which is auto increment that's all about this video in the next video we are going to create interface and class for our Dao thank you so much for watching I will see you in the next video hi welcome back the full stack development with angular and spring MVC my name is Bhushan in the previous video we have created a model class in this video we'll create our dao class before that it's verify whether the hibernate is creating the table for us or not i'm going to run the application now before that let me close all the files right click on the project choose run as first let's clean the project I'm going to select mavin clean let me expand the console that you can see build success right click on the project run as maven build I'll set the goal SAS package click run the project is getting build you can see that the build is success and refresh the project inside the target folder you can see the war file which is book API war file now right-click on the project I choose run as run on server click Next click finish in the console you can see the message that the table is creating because in the property file we said the show SQL is equal to true so that we can see that the table is creating in the console creating a book table which is ID author title alright let me close this go to the MySQL database and refresh you can see the table has been created with a name book and if you expand the table click on the columns you can see there are three columns of their ID author title if you click on this ID you can see it's an auto increment and it's a primary key which means the hibernate is creating a table for us let me clear the console now let's create a Dao class and the interface for our application let me minimize this he'll open the Java resources and inside the do package I'm going to create interface I'm gonna call this book Devo pick finish I write some comments save the record long save to this method we will pass a book object let me import the book which is from bush and sell Godot spring model and the second method is for get a single record book we get we will pass an ID to this method and the third method get all the records this will return a list which is of type book I'm going to call this list let me import list which is from Java dot util and the fourth method update the record I'm going to call this update – this will pass an ID and a book object and the last method is delete a record I'm gonna call this delete and this method we will pass an idea of the book all right we have created an interface for our do now let's create a class inside the dao package i'm going to create a class i'm gonna call this book dao implementation click finish i'm going to implement book table which we have created just now i'm going to implement all the methods just to test the application first let's write a code for least method up above i am going to create a session factory object private session factory i'm going to call this session Factory I'm not going to create an object for this I'll tell spring container to create an object for session factory so I will auto while this and utter while inside the list method I will make use of session factory session factory don't get the current session dot create a query within the double quotes I will write a SQL query from book this will gives us a list I'm gonna call list method and this will return list of books which are available in the database and import the list I call this list and finally we're going to return the list back to the service method all right we have written a code for lease method in the next video we're going to create a service interface and the service implementation class and we're going to call this list method from the service class and we will hand over it to controller that is coming up in the next video I am going to stop the server before that and I'll save this file that's it thank you so much for watching I'll see you in the next video hi welcome back to the full stack development with angular and spring MVC my name is Bhushan in the previous video we have created a book Diego and the book table implementation and we have forgot to annotate this implementation class with the add repository so it's I rotate this alright in this video we're going to create a service interface and the service implementation class let's save this I'm going to close all right let me keep this inside the service package I'm going to create a interface I'm going to call this book service inside this I'll copy all the methods which are there in the Diego and I'll paste it inside the service interface and I'm going to create an implementation class I'm gonna call this book service implementation click finish I'm going to implement with a book service that we have created just now and I'm going to implement all the methods for now let's concentrate on the least method I'm going to remove this up above I'm going to create a do object private book be able to import this I'm gonna call this book Diego I'm not going to create a object for this book de book I'll tell spring container to create an object for us I'm going to annotate this with an auto wild answer the least method I'll make use of book Diego and I'm called the do method which is a list method and I'm going to return it to the controller make sure we have to annotate this method with a hat transactional up above we have to undertake this service implementation class with a at service annotation alright save this that's it for this video in this video we have created a book service interface and the book service implementation classes and we have implement all the methods and we have get the list of records from the Diego and we are returning it to the controller in the next video we will create a controller class and we will call the service method and we will test our application thank you so much for watching I will see you in the next video welcome back to the full stack development with angular and spring MVC my name is pushing in the previous video we have created a service interface and the service implementation class in this video we will create a controller class and let's call the service method inside the controller package let's create a class I'm going to call this book controller I'm going to rotate this class with a at rest controller because we are creating a REST API inside this I am going to create a service object private book service I'm going to call this book service I'm not going to create an object for this book service I'll tell spring container to create an object for us we're going to annotate this with a hot oil let me write a comments get all the books public response entity I'm gonna call this list let me import the list which is from Java dot util package and the book which is from spring dot model inside this I am going to call a service method book service not least I'm gonna call this list returned response entity not okay body to this body we will pass the list of books if you are working in a real-time applications the response entity should not be our return type we will create our custom class and we will add our custom properties like response code response message and the response object but for now let's keep it simple let's use response entity as our return type I'm going to annotate this method let the ad get mapping because this is a HTTP GET request get mapping and the mapping could be slash API slash book alright we have written a method for get list of books now it's time to test our application before that we need to add a few records to our database in interest of time I have already three records to our database or to our table now let's execute the command which is select star from book you can see the records that are there in the table in order to test our API we need a rest client I have already downloaded the postman if you don't have postman then go to Google and search for postman rest kind and you can see the first link which is from Chrome Web Store click on this and download the postman have already downloaded so it is showing as a launch app so I launch the postman and here we will test our API so before that I am going to run the project right-click choose run as and on server it is asking me to save that book controller file save this click Next click finish this will open in a browser so copy the URL and go to postman and paste that URL in this case API slash books or book let me minimize and let me verify this alright it's API slash book copy this and I'll paste it it's a get request so click on the send you can see all the records which are there in the database three mistakes of my life two states I too had a love story let's verify in the database three mistakes of my life two states I too had a love story in the console you can see that the SQL query is executing so finally our application is up and running so in the next video we are going to write rest of the methods and we will complete this API that's it for this video thank you so much for watching I will see you in the next video welcome back to the full stack development with angular and spring MVC my name is Bhushan in the previous video we have created a controller class and we tested our API in this video let's complete the same method I'll open the book day or implementation and I'll remove these comments I'll make use of session factory to see that the book object session factory not get current session not save to this same method we will pass the book object and I'm going to return the book ID return book got get ID and I'll open the book service implementation and I'll remove these comments as well I'm going to call the da one method and return it back to the controller return book Diego dot save to this same method we will pass book object and I'm going to rotate this with a a transactional and I'll go to the book controller let me create some white space I'll write a comments save the book public response entity and I'm going to call this save this will take book and we have to undertake this with that request body inside this I will call the service method book service not same to this same method we will pass the book object and this will gives us the book ID when I call this ID and I'm going to return that ID return response entity okay cut body inside the body I will write a message book created with ID and I'll concatenate the ID to this message and I'm going to undertake this method with that at post my mapping because this is a has CDP post request post mapping and the request mapping should be slash API slash book save all the files and stop the server and restart the application alright our application is up and running I open the postman and I'll open a new tab and I will copy the same URL and I'll paste it here and I'll change this to post and inside the body I change this to raw and I'll change this to yes and because we are sending a JSON data so within the curly braces within the double quotes title the title of the book is director special after Buddha Prasad click on the send button you can see the message that book created with ID 4 let's verify this with the database and I'm going to execute this command you can see that the new book has been created director special let's verify this with a postman and I'm going to click the send button this time you can see the four records which is director special which is our fourth record all right we have completed the same method in the next video we'll look at the other operations as well that's it for this video thank you so much for watching I will see you in the next video welcome back to the full stack development with angular and spring MVC in the previous video we have discussed about the same method in this video we'll write a code for getting a single record and open the book day or implementation and I will remove this comments I'll make use of session Factory get the current session get this we'll take two arguments one is a class name in this case book class and the second parameter which is a book ID and I'm going to return this back to the service method I will go to the service implementation and I'll remove these comments I'm going to call the do method book do dot get and I will pass the book ID and I'm going to return back to the controller I'll go back to the controller a writer comments get a single record public response entity I'm going to call this get this will take ID as an argument and I'm going to annotate this method with ad get mapping because this is a steady Paquette request and that course piping should be slash API slash book slash pick in the curly braces when they pass the ID which is a book ID and inside this parent ages we have to uh notate this with the ad path variable and we have to specify the same name that we have specified in the URL copy this and paste it inside the method we go to call a book service I'm gonna call the get method and I will pass ID to the sketch method and this will gives us the book object I am going to return that book return response entity not okay dot body to this body we will pass the book object the path variable which accepts the ID which is coming from the URL and go to the book service implementation and annotate this method with a hat transactional save all the files and restart the server alright our application is up and running I will open the postman and open a new tab and I will copy the URL and I'll paste it and I'll change this to get and I'll pass the book ID I'll pass the ID one I'm gonna click the same button you can see the book record which is having the ID one change this to two you can expect the record which is having the ID to this is about the getting a single record from the database that's it for this video thank you so much for watching in the next video we will look at the update and delete operations I will see you in the next video welcome back to the full stack development with angular and spring MVC my name is Bhushan in this video will update the record I'll go to the book day or implementation inside the a bit with it I will make use of session Factory I'm going to call a get current session I'm going to store this in a session I'm gonna call this session session dot by ID to this by ID we will pass the book class on this we will call the load method to this load method I will pass the book ID this will give sense D book object I'm going to call this old book to this old book we have to set the title and author which is coming from this book old Duke not set title will to call they get title method and I'm going to set the author and I'll call the get author method and I will call first method on this session object session not flush and inside the service implementation I will call the DAO method book Dao got update to this update method we will pass the book ID and the book object and I'm going to rotate this with a transactional and inside the book controller I'll write a comments update the book record public response entity I am going to call this update this will take two parameters ID and the book object I'm going to allocate this method with a hat good mapping because this is a we are going to make a has to deep a put request and the request mapping should be slash API slash book slash within the curly braces with past book ID fell inside this parenthesis I'm going to rotate this with the add path variable we have to specify the same name that we have specified in the URL and the second parameter which is book I'm going to annotate this with at request body inside the method I'm going to call the service method book service not update to this update method will pass the book ID and the book object and go to return the response entity dot okay body to this body I will write a message book has been updated save all the files and right-click on the project or restart the server once the server is restarted open the postman and open a new tab I'm going to copy the URL and I will paste it and I'll change this to put request inside the body I'll select the raw and I'll change this to JSON I'll copy the JSON data and I'll paste it when I'll say and remove the ID and I'll change this to jatin instead of Chetan Bhagat and when I click the send button you can see the message that the book has been updated let's verify this I'm going to click the send button you can see the book ID which is 2 which is having an author named Jatin before it was Chetan Bhagat so this is about updating a record in the next video we're going to discuss the last operation which is a deleting and recorded that's it for this video thank you so much for watching I will see you in the next video hi welcome back to the full stack development with angular and spring MVC my name is Bhushan in this video we'll discuss the last operation which is a deleting the record inside the book do implementation and remove these comments let me create some white space inside the delete method I will make use of session factory session factory tour to get the current session I am going to store this in a session I'm going to call this session session not my ID do this by ID we will pass the book class on this I will call load method with this load method we will pass the book ID this will gives us the book object session delete to the still it method I will pass the book object let me remove these workspaces and inside the service implementation and remove these comments inside the delete method we will call the Dao method doop do not delete to this big method we will pass the book ID and I'm going to rotate this with at transactional inside the book controller I'll write a comment date a book record public response entity I'm going to call this delete this will take ID as a parameter and I'm going to rotate this with daily puffing because we are going to make HTTP delete request and the request mapping should be slash API slash book slash within the curly braces the pass the book ID and I'm going to annotate this parameter with a path variable and we have to specify the same name that we have specified in the URL inside this I will call the service method book serviced or delete to the still method we will pass the book ID and I'm going to return the response entity dot okay not body to this body we will write a message book has been deleted save all the files and right-click on the server restart the server once the server is restarted open the postman and open a new tab and copy the URL and paste it and change this to delete request click the send button we can see the message that book has been deleted let's verify this I am going to make a get request you can see that the record has been deleted so this is about deleting a record let me remove these white spaces so far we have created all the methods and we have performed all the current operations to this REST API in the next video we are going to test one more time this complete rest api and we will wrap up our course that's it for this video thank you so much for watching I will see you in the next video hi welcome back to our full stack development with angular and spring MVC my name is Bhushan let's go ahead and create angular project before creating an angular project we need couple of tools yes in order to work with angular we need no js' to check whether the node.js is installed on your machine or not go to the command prompt and run a command node – V if you see a number like this then you are already installed no J's on your machine if you don't see a number like this and if you are command from prompting like the command is not available then you need to install node.js in order to download node.js go to this website which is no change.org the link will be given in the description section and go to the download section and download the latest version that compatible with your operating system once you download at the node.js just go add and install the installation is pretty straightforward just double click on the program and click next next next and you are good to go once you install the node.js again go to the command prompt and run the same command this time you will see this number again if you don't see this number again your comment prompt is prompting like the command is not available then something went wrong go ahead and uninstall the program and install it one more time this time it will work for sure once you install the node.js the next thing we need to install a text editor you can use any text editor you want it's not compulsory to use extra terone Lee you can use ID as well if you are using the web store or if you are using a PHP storm you can use that as well but I'm very comfortable with Visual Studio code so throughout this section I am using Visual Studio code so once you install your favorite text editor the next thing we need to install angular CLI globally on our machine so in to install angular CLI go to the angular website you can see the documentation angular dot io / guide slash quickstart here you can see the commands that you want to execute so the first step we need to install angular CLI globally on a machine to install angular CLI go to command prompt and type NPM install – G which indicates globally at angular slash CLI and press enter this will install angular CLI globally on your machine I'm not going to run this command because I have already installed CLI on my machine so I'm not going to run this command once you actually go to this command this will take a few minutes to install the angular CLI once you install the angular CLI open your text editor in this case I'm using Visual Studio code if you are using any other text editors that is fine so if you are using the Visual Studio code then press ctrl 0 symbol which is just below the Escape key this will open a built-in terminal in your Visual Studio code so right now I have created the project in or I have created a folder in D Drive which is a YouTube recording inside this we are going to create a angular project the next step is we need to create an angular project so to create a new angular project type this command ng new and which is your project name in this case book API and when you execute this command this is going to download the angular project or a skeleton for us this will take for a while you once you created the project you can see that the folder has been created in your workspace and next let's go ahead and run our application to run the angular application like ng sir – – open and press Enter this is going to open an application in a default web browser alright I'm outside of the project directory so we are getting this exception or we are getting this error message so what do you need to do is you just have to go into the book API folder CD book API and now we are inside the book API now execute the command ng sir – – open this is going to open in a default web browser if the application is not open in your web browser you can go to the browser and you can navigate to the localhost four to double zero you can see the welcome page of our application this is created by angular so now our application is up and running so in the next video we will start developing our book API that's it for this video thank you so much for watching I will see you in the next video hi welcome back to the full stack development with angular and spring MVC my name is Bhushan in the previous video we have created an angular project and we tested our application in this video we will start writing a code for our book API so let's get started I'm not going to cover the structure of angular project because this video series is not for loving the angular basics instead we will completely concentrate on how to make HTTP calls and how to use the service endpoints that we have exposed in spring MVC so let's go ahead and create a folder inside the app which is in the source folder so I'm going to call this it's not a file it's a folder I'm going to call this book this book folder holds five files one is poop dot TS which is a model class we will create a book class and we will write the properties that are required for the book API and the second file that will come to create is a book dot component or TS which is something like a controller class and the third file which is a book dot service dot TS which holds the business logic inside the service 30s we will make a HTTP calls to our service endpoints and the fourth file is book Todd component dot HTML which holds the UI part and the fifth file is book dot component dot CSS which is optional if if you want to design your application then you can create our CSS file as well so let's go ahead and create those five files inside this book folder so inside the book dot TS I'm going to create a model class export class I'm going to call this book inside this I am going to define three properties ID which is a string I tell you some strength and Arthur which is also a string and inside the book dot component or TS I'm going to create a class I'm going to call this book component before that we need to import few classes from angular core library so let's import those classes first import I'm going to import this from angular core at angular slash core I'm going to import component class and we're going to import on it as well on it is a angular lifecycle method we're going to use this method later in our application and I'm going to import the book a class as well import them to import from this path which is a dot slash book we're going to import the book class make sure to save this file and I'm going to create a path with a name book component export class book component and I'm going to annotate this with a hat component we have to tell angular that this class is a component at component this will take three attributes first is a selector you can give any name to your selector I'm going to call this app book the second attribute is template URL how to specify which is your UI part or which is your HTML file template URL how to specify the path that the HTML file is located dot slash book dot component HTML and the third attribute is style you are else dot slash book dot component dot CSS if you have a multiple multiple CSS files then you need to separate with a comma let's say this inside the book dot HTML I create a h1 tag I'll write a message welcome to book API save this now we are going to use this selector inside the ab dot component dot HTML so inside the app dot component attached EML we have some code I'm going to remove this this is created by angular at the beginning if you see this in the browser if you see the Welcome page this code is in the app got component at HTML so I'm going to remove this and I'm going to use that selector that we have created in the book dot component or TS and save this and go to the browser it is automatically reloading here we are expecting the message welcome to book API but this is not displaying anything let's investigate by pressing f12 this will open a developer tools and in the console you can see that a book is not a known element yes this is obvious because we have created a component and we have defined the selector but we haven't tell angular that we are using this selector we need to tell angular or we need to register our book component with the angular module or the root module in this case the root model is AB dot module tortillas let's go to that habit Model Ts and let's import the book component import book component we have to specify the path that we have the book component is located dot slash book slash book component and inside the declarations I have to specify the class name which is book component and say this now if you go to the browser you can expect welcome to book API now we are able to see our message excellent let's see what we have done so far so inside the app folder we have created a one more folder for our API I'm going to call this book inside the book folder we have created five files one is book dot component dot CSS book component dot HTML book dot component or TS book dot service tortillas and the book dot t– s inside the book dot TS we will create a model class and we have defined three properties which is ID title author and inside the book dot component or TS we have created a class and we have noted this with the add component we have to tell angular that this class is a component class and we have specified the three attribute selector template URL style URLs the selector which is a app – book you can give any name you want and the template URL we have to tell angular or we have to tell this component that varies the UI is located and the style URLs if you want to specify the CSS files you can specify with a comma separated we have created a book dot component at HTML inside this we will write our message and inside the I've got module dot TS which is our root module we are declaring our book component and we are telling angular that we are going to use this book component as a component so with all the changes when we rewrote our web page we will get the message welcome to book API that's it for this video in the next video we are going to design this book dot component not HTML by creating a HTML table and we will display the records by making HTTP call thank you so much for watching I will see you in the next video hi welcome back to the full stack development with angular and spring MVC my name is Bhushan in the previous video we have created a component class and a model class in this video we are going to make a hash TDP get requests so inside the service dot PS I'm going to create a class I'm going to call this book service export class I'm going to call this book service inside this I'm going to provide a constructor within the parentheses I'll provide a private variable I'm gonna call this HTTP service which is of type HTTP this is nothing but a dependency injection we are not going to create an object for this HTTP instead we are going to tell angular injector to inject the dependency so before that I need to import the HTTP class from the angular HTTP module import at angular slash HTTP and I'm going to annotate this class with a add injectable in spring mu C they're going to call these annotations but here in angular we are going to call this decorators inside this I'm going to write a method to get all the books I'm going to call this yet all books this will return a list of books I'm going to call this observable which is a list of books I'm going to import the book as well import book add it's not add dot slash book and I'm going to make use of this this HTTP service before that I'm going to import few libraries import rxjs / add / operator / map I'm going to import the catch as well and I'm going to import the response request options headers inside the get all books before that I need to write a private method to handle the errors private I'm going to call this handle error I'll pass the response object we want to call this NL tell them to return that error message to the observable observable not throw you want to throw that error inside the get all boots I will make use of this yesterday P service this dot HTTP service I'm going to call cat method inside the get method we will provide our service endpoint I have already copied the service endpoint this will return a list of books in a JSON format on this I'm going to call map method this will return a list of records I am going to call this response response I will get the response I am going to call it jason method on this response object responds not jason and i'm going to call the catch method if something went wrong we're going to catch that handle you want to call that handle errors which is our private method and I'm going to return this method all right we have written a method get all books inside this we are making a HTTP GET request now we need to register this book service inside our app dot model dot TS we have to tell angular that who is our provider in this case the provider is book service and we need to import the hostile P model as well so inside the imports import the HTTP module and save this and save the book dot service dot TS as well in the next video we're going to call this Sammy's method from our book dot component dot t– s and we're going to display the records in a console that's it for this video thank you so much for watching I will see you in the next video hi welcome back to the full stack development with angular and spring MVC my name is Bhushan in the previous video we have created a service class and we make HTTP GET request in this video we are going to call that service method from our component class so inside the book component provide a constructor within the parentheses and create a private variable I'm going to call this book service which is of type book service again this is a dependency injection we are not going to create a book service object instead the angular injector will inject the dependency and initialize this book service variable and I'm going to create a variable called books to hold the list of books which is of type book it's an array and I'm going to create a method this get books which is of type wide inside this I will make use of this book service this not good service and I'm going to call a service method which is a get all books get all books will not return a list of books until and unless we are subscribed to this method so on this I'm going to call a subscribe method and this will gives us the list of books I'm going to call this book data and I'm going to assign this book data to this list of books this not books is equal to book data when we call this get all books method if you get the error response then we are going to log that error response to the console error I'm going to log that error response to the consumer console dot log I'll pass this error to check whether we are getting a list of books or not I'll provide a control dot log pencil backlog and I'll print the book data and I'm going to implement this class with a on in it interface implements on in it and I'm going to override a special method called ng on in it ng on in it and inside this I'm going to call this get books method this not get books save this and in the browser and you can see the welcome to book API a message and if you open the console we are getting an exception that no access control allow origin header is not present on the request response or the resource which means the angular is complaining that we are not able to make a HTTP GET request to this endpoint this is because we have not enabled the cross origin in our spring MVC API to enable the cross origin in our book controller just a boy ever addressed controller you have to own it at this meta cross origin save this and stop the server this cross-origin is used to enable the cross-origin requests because we are accessing these service end points from our angular front-end server so we have to enable this cross-origin to provide the services just annotate this class with the ad cross origin and stop the server and read on the application once the server is restarted open the browser and reload the web page in the console you can expect the list of records if you expand this we can see the records which are there in the database 3 mistakes of my life I too had a love-story directive special so in the next video we are going to display these records in a HTML table we are going to write a HTML table inside the book component dot HTML that's it for this video thank you so much for watching I will see you in the next video hi welcome back to the full stack development with angular and spring MVC in the previous video we have called the service method and display the records in a console in this video we're going to display the records in HTML table inside the book dot component out HTML just below the heading tag I will create a new tag inside the do I will create a HTML table I'm going to create a row and I'm going to create a four columns the first column is for ID and the second column is one title and the third column is for a third and the fourth column is for actions and I'm going to create our one more row inside this okay clear the table descriptions inside the book that component or TS we have created this books variable and here we are initializing that books so I'm going to use this books in this component of HTML and I'm going to use a ng for loop to iterate over the books so inside the TR or the table row we'll use ng for loop star ng for and I'm going to use that keyword to create a variable let book of books this books is coming from doctor component attached dot TS which is this the ng for loop will iterate over these list of books and every time when it is loop over this list of books it will keep it in this book variable and we are going to access the properties which is ID title author through this variable so I'm going to use angular data binding within the two curly braces I'm going to use book dot ID to access the ID to use book dot title to access the title I am going to use book dot author to access the alta right now I'm not going to write a code for edit and delete I will just write a text edit and then a cater we will make use of these edit and delete I'm going to specify a border to the stable border is equal to 1 say this in the browser you can expect the HTML table with the records so these are the records we are getting from database in the database you can see that we have these three records Chetan Bhagat Ravinder Singh guru Prasad so the ng for loop will iterate over these list of books and every time when it is iterate it will keep the book object in this variable and we are going to access the ID title author through this variable in the next video we are going to make a HTTP POST request that's it for this video thank you so much for watching I will see you in the next video hi welcome back to the full stack development with angular and spring MVC in this video we're going to make a HTTP POST request so inside the book dot service dot d s I'm going to write a method I'm going to call this a book this ad book by going to pass the book object I'm going to call this book a long time book inside this I'll create a variable I'm going to use that keyword that body is equal to I'm going to convert this into a JSON object so I'm going to use the signifier method jason dot stringify i will pass the object I'm going to get one more variable I want to call this headers I'm going to create a new header object to this headers we're going to pass the content type which is applications last JSON content type which is application slash station I'm going to create a one more variable which is options I am going to create an object which is request options to the sequest options we will pass the headers we want to call this headers and I will assign the high – I am going to call the HTTP POST method I will make use of this yesterday pay service this dot HTTP service dot post to this post method we will pass over service endpoint I have already copied in the notepad so to copy this and I will paste it and I'm going to pass the body and the options and I'm going to return this save this in the book dot component or TS remove the call the same service before that we need to create a book object up above I'm going to create a book object book is equal to your book I don't want to create a method I'm going to call this ad book this is going to be white inside this I will make use of this variable which is book service this dot book service ad book which is our service method for this ad book will pass the book object that we have created up above this book I am going to call subscribe method subscribe and we will get that response once we subscribe to that method I'm going to call this response I am going to print that response in the console console dot log I'll create that response and if we get error response I'm going to print that error response in the console to call this error using an arrow functions I'm going to print that error response to the console save this in the service class we have created a method which is ad book and we're making HTTP POST request and in the component or TS file we are creating the one more method which is an ad book and we are calling the service method which is ad book by passing the book object in the next video we are going to make use of component out HTML and we will create a text boxes and we will try to add the data from the HTML page that's it for this video thank you so much for watching I will see you in the next video hi welcome back to the full stack development with angular and spring MVC in the previous video we have created a method for post requests in this video we're going to create a form inside the component HTML so inside the component HTML just above the HTML table we're going to create a form before that I need to create a div inside the do I'm going to create a form inside the form I will create it to Xbox one is for title and one is for author we're not going to enter ID because the ID is a primary key and we have given auto increment it in the database so we are not going to enter the ID so I'm going to create two text boxes enter title which is a label input type is equal to text and I'm going to use angular two-way data-binding which is ng model I'm going to access the book dot ID I am going to give a name to this textbox I'm going to call this ID and put a break copy this and paste it one more time and change this to author it's enough title and I'll change this to outer you want to change this to title it's not Heidi its title and its author and the creative button the text of this button is ad book I am going to use angular click event and I'm going to call the ad book method which is in the app dot component or TS copy this and paste it save this inside the app dot Model Ts we need to import the forms module so inside the inputs I'm going to import the forms module and I'm going to import it from the angular slash forms library save this and in the browser you can expect the text boxes enter title enter author let's go add and enter the title to States and the author is Chetan Bhagat and click add book and let's navigate to the unsure and you can see the response 200 book created with the ID 5 let's navigate to database and execute the query and you can see that the book has been added with the ID 5 Chetan Bhagat 2 States which means our ad is working fine but as soon as we added the record we need to reset these text boxes and the table has to be updated so open the visual studio code inside the app dot component of PS I am going to write a private method I'm going to call this private none to call this reset inside this reset method I will make use of this book variable this book ID monocyte null this dot book dot title is equal to null this dot book dot author is equal to null save this I'm going to call this reset method inside the add book just after the console dot log about to call the reset method and save this and go to the browser and reload the web page and add a new record and click add book the book has been added actually and our Xboxes has been clear so if you go to the MySQL database and execute the command and you can see the record that has been added just now now we need to update this table as soon as we entered the record so go to the visual studio after this reset I'm going to call the get books method so this will refresh the table save this go to the browser and enter one more record and click Add book the text box has been cleared and the table has been updated so this is all about adding a new record so now we are able to add a new record and we are able to refresh the table and we are able to reset the text boxes in the next video we are going to make use of this edit and delete we are going to make a put request and delete request that's it for this video thank you so much for watching I will see you in the next video hi welcome back to the full stack development with angular and spring MVC my name is bush and in the previous video we have created a form and we have completed the adding a book to the database in this video we're going to look at the delete request so inside the book dot service dot TS i'm going to create a method we want to call this then the book this will take both ID as an argument to call this book ID type string inside this I will make use of this hash TDP service this dot HTTP service dot I'm going to call HTTP delete request inside this we will pass the service endpoint I have already copied the service endpoint I'll copy this and paste it and I'm going to append the book ID which is coming from here copy this and paste it here and I'm going to return this send this inside the book that component or TS I'm going to create a method to call this delete book to this delete book I'm going to pass the book ID which is of type string inside that init book I will make use of this book service this dot book service I'm going to call a service method which is delete book and I'm going to pass book ID and I'm going to call a subscribe method we need to subscribe to this method I'm going to get the response I'm going to call this response I'm going to print that response in the console and sold that log I'm going to print that response and we need to refresh the table as soon as the record has been deleted so I'm going to call get books method this not kept books this is going to refresh the table and if we get an error response I'm going to print that error response to the console I'm going to call this error console dot log and going to print that error message save this inside the book that component dot HTML I'm going to create a button to distill it the text should be delete I am going to use angular click event I'm dr. Paul method which is in it book with a still it book I'm going to pass this book ID copy this and paste it and save this go to the browser the web page will be reloaded automatically and now we got the delete button I'm going to delete these two records let's see what will happen then a card has been deleted we can see console you can see the response that the book has been deleted I'm going to delete this record as well the record has been deleted that's where you find the database I'm going to run the command and you can see that the record has been deleted from the database as well the delete should be working fine in the next video we're going to look at the edit operation hi welcome back with the full stack development with angular and spring MVC my name is Bhushan in the previous video we have discussed about this delete operation in this video we are going to do update operation the update operation is little bit different than the adding a book and deleting a book we are going to do this in two steps the first step we need to convert this edit text into a button when the user click the Update button we have to get the respective record and we have to pre-populate in these text boxes for that we are going to make a hash TDP get request to this service endpoint which is slash API slash book slash the book ID this will gives us the book object in a JSON format and once we have done that in the second step the user will make a changes and the user will click the add book this time we have to update the record instead of adding a new record that is our second step so let's do it step by step the first step we need to convert this text into a button let's do that go to the book component or HTML we're going to create a button update I'm going to call angular 1 click event I'm going to call a method get booked by ID so this method we will pass the book ID we are not yet created this method we are going to create this in a minute save this inside the book dot service dot t– s going to create a method I'm going to call this get book my ID and this will take a book ideas argument you want to call this book ID which is of type string this will return an observable this is of type book inside this I will make use of this HTTP service this dot HTTP service dot get to this get method we will pass the service endpoint I'm going to copy this and I'll paste it I'm going to append the book ID which is coming from here on this I'm going to call a map method we will get a response I'm going to call this response which is of type response and I will use an arrow function and I'm going to call Jason method on this response objective response Jason and if something went wrong we have to handle that exception so I'm going to call a catch method on this I'm going to call our private method which we have created in one of our previous videos which is handle error this dot handle error and I'm going to return this say this inside the book third component dot TS I'm going to create a method to call this get book my ID I want to pass book ID which is of type string inside this I will make use of the book service object or the book service variable this dot book service dot I'm going to call the service method which is get book by ID this I will pass the book ID on this I'm going to call the subscriber that we will get the response I am going to call this book data I'm going to assign this book data to this variable which is book this dot book is equal to data and I'm going to call the get books method to refresh the table and if you get the error response I'm going to log that error response to the console to call this error inside this I will knock the console console dot log null pass the object and save this go to the browser this will reload the web page and now when you click on this update button you can expect the value should be populating in this text boxes but it is not let's figure out by pressing f12 in the console we are not getting any exception which means we have made some mistake in the component at HTML let's close this and go to the component or HTML and inside this ok this is not all click if it is click let's save this and go to the browser and now click the Update button you can say that the values are populating in the text boxes let's click one more record I'm going to click this two states you can see that the values are populating in the text boxes now in the second step if the user make any changes to these records and when the user click the add book the record should be updated it should not create a book how do we do that that is coming up in the next video that's it for this video thank you so much for watching I will see you in the next video hi welcome back to the full stack development with angular and spring invasive my name is Bhushan in the previous video we have created this update button so now the user click any one of these update button the respect to record should be populated in the text boxes now the user make any changes to these records and when the user click the add book button we are not going to add the record instead we are going to update that icon so that is we are going to do in this video let's get started for this updating we are not going to create any new method we are going to use the existing method which is an ad book method but in the book dot component dot HTML we are going to add a one more text box to this form which is a hidden text box and we are going to set the ID to that text box so the user click the Update button the book ID should set it to the hidden text box and now when the user click the add book button it will call the add book met and the ID book method will call the service method in the service method we are going to check the condition that if the book ID is available then we are going to make a put request which is a updating a record and if the ID is not there then we know that we are adding a new record so we are going to make a post request so let's do that minimize this and go to the book component on HTML inside the form I'm going to create a text box which is a hidden text box input type is equal to hidden thing is equal to book dot ID save this inside the book dot component or TS we are calling a book method which is a service method and we are passing a book object so inside the book dot service or TS inside the add book method I am going to put a condition if look idea is there we're going to make a put request I'm going to use the HTTP service that put and I will pass the service endpoint have already copied in the notepad copy this and I'll paste it I'm going to append the book ID and I'm going to pass the body and options and I'm going to return this method the book ID is not there then you know that we are adding a new record I'm going to call a post method save this go to the browser click any one of these records I'm going to change this to guru when I click the add book method then a court should be updated it's not going to add a new record let's try to add a new record after friend which is returned by Chetan Bhagat this time the record has been added so depending upon the book ID the record is adding and updating so now we have done with adding a new book relating a book updating a book and displaying the book in the next video we are going to add some CSS property to this application and we will make this application look better that's it for this video thank you so much for watching I will see you in the next video hi welcome back to the full stack development with angular and spring MVC in this video we're going to add some style to our application let's get started for the styling and all we are going to use puts up I have already copied the respective plugins in the notepad I'm going to copy this and inside the index dot HTML I'm going to paste it inside the head tag and save this and inside the browser you can see the changes interest of time I have already added some styling to this application I will go ahead and copy that and paste it inside the visual studio code I'll go to the book door company dot HTML and select all I'll paste it save this and go to the browser you can see the changes I'm not going to cover the styling and all because it's very easy you can go ahead and explore by yourself if you are looking for a source code under this video in the description section I have provided a link to the article you can go add and copy the source code with that being said we have completed all the operations like creating a book deleting a book updating a book and displaying the records let's just this application one last time we can add a book the record has been added and we can update a book the record has been updated we can delete a book this is all about this book management system with that being said we are wrapping up this course if you have any questions about this tutorials leave your comments in the comment section or head over to my website bouche and says Godot in and you can reach me there in my website that's it for this video thank you so much for watching I will see you in the next video series you

47 Replies to “Full Stack Web Development with Angular and Spring MVC”

  1. Social Network for Developers ☞ https://morioh.com
    Developers Chat Channel ☞ https://discord.gg/KAe3AnN
    Learn to code for free and get a developer job ☞ https://codequs.com/

  2. After clicking on Run on Server for the first time i am getting 404 not found page. How can i fix this issue ?

  3. Getting tips from experienced freelancers is also super key to knowing what mistakes to avoid and how they find good jobs. There's a good collection of stories from freelancers on this page: https://www.guavabean.com/guavablog/

  4. What about handling many to many relationships, like Books, Genres and Authors. I cannot find a guide on how to create the SQL queries using data across tables.

  5. can i work using sql server management studio? if i using sql server management studio then how to connect this or what is the code of >>db.properties<<

  6. Muchas Gracias. Super completo el tutorial. Ya podre investigar mas a detalle los conceptos con un proyecto funcionando.
    Thanks man I appreciate this video so much.

  7. On the "Delete a Book Record" at 1:03:28 i think you should put on @PathVariable, a required = true ( @PathVariable(required = true) ) or in the request via postman with DELETE type, if u dont put any id, it will delete all entries (in most of the cases)

  8. Guys don`t learn from guys like him. There are more easy way to build java web app without spring and angular.

  9. The Http module which is used here is deprecated. The way of implementation is now changed please update this video.

  10. If you really understand the perspectives of a viewer and a learner, you'll not simple provide instructions as you are doing in this videos. you'll also provide resources e.g. if it is some a kind of beginner or atleast a starter he'd want to sit to do practical stuff along with your video. so the first thing he'll begin keeping your video on the side and eclipse on the side. next thing he'll know as soon as he begins he's frustratingly let down! simply because, your dependencies are no where to be found as a shared resources also you are not even considerate about their plight of having to pause your video of 1hr:57min + the pause time i.e. nearly half a day just to dig out from the videos screen the resource he need. please develop perspectives. so you think your teaching course is some TV show for the people to sit and just watch it and build things in air or in cloud?

  11. Can anyone help me how to resolve this error
    Context initialization failed

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'getSessionFactory' defined in com.akula.spring.config.AppConfig: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

  12. In fact, there are 3-4 new folders appearing in 32:09, which weren't present earlier. Please explain how you got these. Did you make it a web app project or something?

  13. I noticed "jax-ws web services" wasn't being shown until 32:09. How did it appear suddenly? Please provide step wise explanation. That's possibly why "Run on Server" option is not appearing.

  14. This is a great tutorial, due the new Angular 7 version you can found some compile errors in the code. I fixed those errors and the working project is available on my github here https://github.com/educostabra/SpringMVC-Angular-JPA-Hibernate

  15. Please let us know what version of Angular you are using bc some of the usages of code has changed alot. Angular doesn't even use headers and stringify any more to post. It just uses model and url nowa days.

  16. ok dude I've been working on your code for like a month. And, my understanding is that your configuration in the AppConfig class does not work. Either that implementation has been depreciated or the use of the properties library doesn't work or there is sometype of archetype you are using that you did not explain in your video. However, I just wanted to let you know so that you can either update the video or you can pin more notes. Obviously you are wanting more hits to the websites you are sponsoring so this code could be bad on purpose. However, for those who may not know why they are coding line by line of your code, but are still unable to get it to work. I will advise them to do to things to do the following to mitigate the AppConfig issue. First go to spring boot website: https://www.baeldung.com/hibernate-5-spring and then go to devglan (https://www.devglan.com/spring-boot/spring-boot-hibernate-5-example#/basicdatasource) to find out how to use Hakira data source object. These beans are more modularized in the spring website Hakira datasource is more preferable than properties while using localsessionfactory object.

  17. Super video bro explaining way is very excellent…..please give spring boot with mysql fullstack video .

  18. Great video, Bhushan! But I've one question . Here, you started with a simple maven project but when did you switch to a web dynamic project? I was following your instruction and then i realized we are missing the conversion piece 🙂 However, I googled and found the conversion thru Project facet option in eclipse.

  19. Can you help, how to access the Server URL using context rather than hard Coding. and how will you integrate the code to deploy as a single package.

  20. This video is copied from my channel, https://youtube.com/b2tech, code is availabel in https://github.com/scbushan05

  21. My table is not auto generating using the same code define in this video…can anyone share the pom.xml file of this project?

  22. Perfect video and project for intermediary level (concise, precise and understandable). If I were you I will use this project as definitely a solid basis going forward but then explain in more details the concepts for other levels such as beginner or advanced as you explained nothing. I don't think that will be too long for instance to get in more details about decorators and how spring works…

Leave a Reply

Your email address will not be published. Required fields are marked *