
Explore spring framework for Java, focus on pojos, and learn core modules like spring core, spring mvc, rest, security, and jpa for building web and rest applications.
Navigate the official spring.io site to explore Spring projects, including Spring Framework, Spring Boot, Spring Data, Spring Cloud, and Spring Security, with guides and downloadable documentation in PDF and EPUB.
Identify essential prerequisites for spring, including Java, oop concepts, exception handling, threads, basic loops, database connectivity, servlet and JSP basics, http request/response, and ORM options like Hibernate or JPA.
Learn to set up Spring Framework 5 projects by choosing an IDE such as Spring Tool Suite or Eclipse, and align with Java 8 for reactive programming and lambda expressions.
install and launch spring tool suite from a zipped cd, set a workspace, and create a maven project to automatically download spring dependencies via pom.xml from mvn repository.
Explore dependency injection in the Spring framework, where objects and dependencies are injected from outside, replacing manual creation and enabling runtime flexibility via IOC.
Discover how to create a Spring Boot starter project, leveraging convention over configuration, selecting dependencies, and understanding pom.xml and Maven dependencies for a ready-to-run setup.
Master dependency injection in Spring Boot by letting Spring Boot create and inject beans via the application context, using get bean and the component annotation to run a code method.
See how Spring Boot autowire lets the Spring Framework create and supply a laptop object to an alien class, using component annotations in a Spring Boot app.
Explore how the Spring framework constructs and wires objects behind the scenes, moving from Spring Boot to a plain Spring setup and using bean factory with XML configuration.
Learn how to replace bean factory with application context using classpath XML application context, avoiding deprecation, and ensuring the Spring config file is on the classpath to run.
See how the Spring container initializes beans from the application context and creates objects at startup. Discover that these beans are singletons by default and retrieved with get bean.
Learn how Spring's default singleton scope returns one bean instance, while the prototype scope creates a new instance on every get bean call, guiding your choice.
Explore setter injection in Spring by creating private fields with getters and setters, configuring properties in XML, and observing Spring call the setter during singleton bean creation.
Learn how to inject a reference type in Spring XML using the ref attribute by wiring a laptop bean into an alien bean, preventing null pointer exceptions.
Learn how to inject bean properties using setter and constructor injections, pass constructor arguments, handle default vs parameterized constructors, and decide when properties are required or optional.
Explore autowire in spring by name and by type, and see how a computer interface with laptop and desktop implementations is wired via xml bean properties.
Resolve autowiring conflicts in Spring by using a primary bean and the @Primary attribute to prefer a laptop over desktop, with choices by type or by name.
Explore the Spring MVC architecture and how Spring Boot simplifies configuration. Learn how DispatcherServlet acts as a front controller, routing requests to controllers and separating model, view, and data.
Explore building Spring MVC apps with Spring Boot to reduce configuration, using a controller to handle requests, JSP views, and an embedded Tomcat on port 8080.
Create a home controller in Spring Framework, annotated with @Controller, map the root path with @RequestMapping, and return index.jsp to render the home page.
Learn how to run JSP in Spring Boot by adding the Tomcat Jasper dependency (version 9.0.14) via Maven, enabling JSP-to-servlet conversion and serving index.jsp through a Spring MVC controller.
Learn to accept two numbers via a form, map the add action to a Spring MVC controller, fetch parameters from HTTP servlet request, and display the sum on result.jsp.
Learn how to bind query parameters directly with @RequestParam in Spring Framework 5 and Spring Boot 2, reducing boilerplate by avoiding HttpServletRequest and session objects.
Use the model and view pattern to pass data such as num three and specify the view name with setViewName in a ModelAndView, using addObject to attach the data.
Learn how to configure prefix and suffix in Spring MVC to map views, move JSP files to a views folder, and customize paths via application.properties.
Understand how Spring controllers use model, model map, and model and view to pass data to views like index.jsp, and compare model versus model map usage.
Show how model attribute enables binding of request data directly to a model object, letting you assign id and name without individual request param handling.
Bind client input to an object using the model attribute annotation, replacing separate request parameters and optionally mapping to a custom name, with data auto added to the model.
Demonstrates using model attribute at the method level to populate a model with a name before request mappings, enabling dynamic welcome messages like welcome back aliens across controllers.
Discover how to build a traditional Spring MVC project without Spring Boot using Maven, dispatch servlet configuration, and XML setup. Learn to deploy on external Tomcat with JSP views.
Configure spring mvc with dispatcher servlet and web.xml mappings, enable annotation based controllers, and use an internal resource view resolver with prefix '/views/' and suffix '.jsp'.
Explore how to send data with post requests instead of get, and restrict handlers to specific methods using request mapping, get mapping, and post mapping in Spring Boot.
Compare post mapping and get mapping as you receive data with a get request and return a list of aliens to the show aliens JSP using a model attribute.
Connect a Spring MVC app to a MySQL database using Hibernate ORM, configure the required dependencies, and set up a session factory and data source for ORM and transactions.
Install the MySQL community edition, set up the server and MySQL Workbench, connect to localhost:3306, create the telescope database and alien table, then insert and query data.
Create a dao layer in spring boot, map entities with hibernate, and fetch aliens with a get aliens method via a session factory and transactional handling.
Add and fetch a single alien using Spring ORM with Hibernate, via DAO methods and session save, with transactional control in Spring Framework 5 and Spring Boot 2.
Learn how Spring Boot simplifies Spring Data JPA configuration by using application properties, adding the Spring Data JPA starter and MySQL connector, and setting dialect, URL, and credentials.
Learn to fetch a single alien by id and add new aliens using Spring Data JPA's JPA repository, with save and repository methods handling persistence.
Learn how Spring Data JPA supports querying by non-primary key fields using methods like find by name, including order by and or conditions, via the query DSL.
Explore how to fetch data in Spring Data JPA using query annotation with JPQL, SQL, and placeholders, including @Param for dynamic values.
Explore how REST treats data as resources accessed via nouns, not actions, and uses HTTP methods GET, POST, PUT, DELETE in a stateless, representational state transfer model.
Set up postman as a rest testing client, install it on Windows or Mac, and execute get, post, put, and delete requests with headers and body, returning XML or JSON.
Convert Spring MVC with JSP to REST style by creating an alien controller with a GET mapping for aliens, fetch aliens from the repo, and return JSON via @ResponseBody.
Learn how spring boot uses jackson to auto convert java data to json for the aliens endpoint. The lecture explains json parsing and generation with jackson, and discusses xml options.
Fetch a single alien by id using a path variable, map the endpoint as alien/{aId}, and retrieve it with findById and optional handling.
Define rest controllers with Spring to fetch all or one alien using get mapping and response body. Apply a class-level rest controller annotation to return JSON by default.
Learn how to send data with post mapping using postman to the same uri as get, save the alien via repository, and understand content negotiation between json and xml.
Enable content negotiation between client and server to return json or xml, Spring Boot uses Jackson by default; add Jackson data format xml to pom, then test with Postman.
Learn how the produces attribute controls JSON and XML responses, letting clients request specific formats and servers enforce accepted types (including 406 not acceptable) in post mappings.
Learn how to post data with a json or xml body and use the consumes attribute to restrict accepted formats; use @RequestBody to map json to a Java object.
Explore how aspect-oriented programming helps factor out cross-cutting concerns like logging, security, and transactions from business logic in Spring applications.
Explore aspect oriented programming with Spring, covering aspect, join point, advice, and pointcut, then learn how weaving connects advice to methods at runtime using before, after, and around advice.
Learn how spring boot enables aspect oriented programming with before advice to log calls to get aliens using a fully qualified execution expression.
Replace system out with a logger using loggerFactory and log at info level. Configure logging levels in application.properties and write logs to app.log.
Implement after advice for the get aliens method and observe after returning, after throwing, and after finally. Verify execution order with logs.
Explain how after returning and after throwing work in Spring, demonstrating execution on success versus an exception. Show how to log exceptions with after throwing.
Learn to secure a Spring Boot web application with Spring Security, enabling a login form, in-memory user credentials, and automatic session management.
Configure spring security with an in-memory user details manager, creating Naveen with password 1234 and role user, via an app security config extending the web security configure adapter.
Implement Spring security with database-backed authentication, fetching usernames and passwords from a MySQL database using a DaoAuthenticationProvider, a user details service, and a JPA repository.
Discover how to replace no-op passwords with bcrypt hashing in Spring security, evaluating rounds and bcrypt encoding to securely store password hashes in the database.
Enable OAuth 2 in spring boot to authenticate users via Google login, replacing database auth, configure client id and secret, set scopes and redirect, and access tokens for user details.
Spring 5 is a functional web framework for back-end development and is quite famous among Java developers when it comes to designing an enterprise-based application.
It consists of lots of modules and projects, which makes it very huge.
The Spring Framework and Spring Boot enable developers to create high-performing, reusable, easily testable, and loose-coupling enterprise Java applications
It can be used to develop any Java application.
Knowledge of Spring Framework has a huge demand in the enterprise market, and Spring Framework developers are paid handsomely.
Having Spring Framework on your resume will highlight you among other Java developers.
This course offers hands-on experience building Spring Framework apps using Spring Boot.
This course will be interactive and fun, as I will code all the projects from scratch.
By taking this course, you will have the latest skills that you need to build real apps using the Spring Framework.
Requirements for this Course:
Basic Knowledge of HTML, CSS and JS is helpful
Knowledge of SQL and databases is helpful
Good knowledge of Core Java, JDBC and Servlets.
Learn these important topics
Spring Boot
Spring Core (IoC)
Spring MVC
Spring AOP
Spring Data JPA
Spring REST
Spring Security
Who this course is for:
This learning path is for developers who wish to create their own web apps with Spring 5
This course is ideal for developers who wish to use the Spring Frameworks for enterprise application development