title
What Is Spring Framework In Java | Spring Framework Tutorial For Beginners With Examples | Edureka

description
🔥 Spring Framework Certification Training - https://www.edureka.co/spring-framework This Edureka "What Is Spring Framework" tutorial will help you in understanding the fundamentals of Spring Framework and build a strong foundation in Spring. Below are the topics covered in this tutorial: 1. Java Frameworks 2. Spring Framework 3. Why Spring Framework? 4. Spring Architecture 5. Spring Modules 6. Spring Features Subscribe to our channel to get video updates. Hit the subscribe button above. Check out our Spring Framework Playlist: https://goo.gl/a3XjGI ( Edureka Elevate Program. Learn now, pay later: http://bit.ly/2vQKVu6 ) #Spring #SpringFramework #SpringFrameworkTutorial ##SpringOnlineTraining #SpringFrameworkforbeginners #SpringTutorial ----------------------------------------------------------------- How it Works? 1. This is a 4 Week Instructor led Online Course, 25 hours of assignment and 20 hours of project work. 2. We have a 24x7 One-on-One LIVE Technical Support to help you with any problems you might face or any clarifications you may require during the course. 3. At the end of the training you will be working on a real time project for which we will provide you a Grade and a Verifiable Certificate! -------------------------------------------------------------------- About The Course Edureka's Spring Framework course covers all the concepts that made Spring probably the most popular Java application framework. Starting from Dependency Injection to how to create first spring application, integrating maven. Aspect Oriented Programming (AOP), integrating Hibernate with Spring .Building application using Spring MVC. Using Apache tiles and JSF for making user view. Making your spring application secure. Using Log4j as logger and writing test cases with JUnit. At the end of the course, we will also create a web application using Spring Framework. ---------------------------------------------------------------------- Who should go for this course? This course can be taken by anyone who wants to be a Java Developer or wants to learn Spring Framework. ----------------------------------------------------------------------- Why learn Spring Framework ? Spring is the most popular open source Java application Framework. Most of the existing frameworks like Struts or Hibernate take care of one layer or a part of the application development. As Struts take care of MVC model, Hibernate provides ease of working with databases. However, Spring Framework combines all the industry standard framework approaches (e.g. Struts and Hibernate) into one bundle. Spring provides Dependency Injection, Aspect Oriented Programming and support for unit testing. This gives the developer time to work on main business logic rather than worrying about non-application code. Spring makes the application development fast and increases the productivity of developers. For more information, please write back to us at sales@edureka.co Call us at US: 1844 230 6362(toll free) or India: +91-90660 20867 Facebook: https://www.facebook.com/edurekaIN/ Twitter: https://twitter.com/edurekain LinkedIn: https://www.linkedin.com/company/edureka

detail
{'title': 'What Is Spring Framework In Java | Spring Framework Tutorial For Beginners With Examples | Edureka', 'heatmap': [{'end': 637.381, 'start': 582.724, 'weight': 0.755}, {'end': 1106.989, 'start': 1077.171, 'weight': 0.754}, {'end': 1375.577, 'start': 1295.164, 'weight': 0.724}, {'end': 1451.698, 'start': 1392.504, 'weight': 0.785}, {'end': 1788.046, 'start': 1761.899, 'weight': 0.879}, {'end': 2036.335, 'start': 1952.458, 'weight': 0.87}], 'summary': 'This tutorial on the spring framework covers its role in simplifying java development, optimizing usage of java frameworks, benefits, modules, inversion of control, mvc, and implementation, emphasizing its popularity and industry relevance, with an overview of ecosystem and architectural aspects.', 'chapters': [{'end': 170.009, 'segs': [{'end': 91.375, 'src': 'embed', 'start': 63.057, 'weight': 0, 'content': [{'end': 68.703, 'text': 'And frameworks are nothing, but they are the predefined APIs which we can embed in our programs, right?', 'start': 63.057, 'duration': 5.646}, {'end': 70.424, 'text': "So let's see.", 'start': 69.123, 'duration': 1.301}, {'end': 77.508, 'text': 'So when, as a developer, we are writing, so we need to write a lot of code and many a time when the projects are in a deadline,', 'start': 70.964, 'duration': 6.544}, {'end': 82.85, 'text': 'so we are dependent on libraries to accomplish our projects in time right.', 'start': 77.508, 'duration': 5.342}, {'end': 86.512, 'text': 'So these libraries are nothing but they are the frameworks or they are the APIs right.', 'start': 83.091, 'duration': 3.421}, {'end': 91.375, 'text': "So as a developer you shouldn't be bothered about you know writing a lot of code.", 'start': 86.532, 'duration': 4.843}], 'summary': 'Frameworks and libraries help developers complete projects on time by embedding predefined apis, reducing the need for extensive code writing.', 'duration': 28.318, 'max_score': 63.057, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI63057.jpg'}, {'end': 170.009, 'src': 'embed', 'start': 125.22, 'weight': 1, 'content': [{'end': 126.682, 'text': "And whatever the frameworks you're gonna choose,", 'start': 125.22, 'duration': 1.462}, {'end': 132.427, 'text': 'So we got a lot of frameworks, API is available in Java now, so as per our requirement, we need to choose.', 'start': 126.702, 'duration': 5.725}, {'end': 137.571, 'text': "For example, let's say that I wanna search in PDA, or I want to generate an Excel report.", 'start': 132.467, 'duration': 5.104}, {'end': 145.857, 'text': 'So I need not write a Java IO API, so I need not to write my own Java IO code, so I can use the predefined libraries.', 'start': 137.911, 'duration': 7.946}, {'end': 153.38, 'text': 'So, like I text or I PDF available libraries and I can do my task very easily.', 'start': 146.757, 'duration': 6.623}, {'end': 160.584, 'text': 'So the problem is solved whenever you start using the frameworks or when you start using the predefined code snippets in your programs.', 'start': 153.881, 'duration': 6.703}, {'end': 164.106, 'text': "Now, what's the key benefit of having all these things?", 'start': 161.324, 'duration': 2.782}, {'end': 170.009, 'text': 'So my application speed and efficiency is also increased because the frameworks,', 'start': 164.426, 'duration': 5.583}], 'summary': 'Using frameworks and api in java increases application speed and efficiency.', 'duration': 44.789, 'max_score': 125.22, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI125220.jpg'}], 'start': 0.309, 'title': 'Introduction to spring framework', 'summary': 'Introduces the spring framework, emphasizing its role in simplifying java development with predefined apis, boosting application speed and efficiency.', 'chapters': [{'end': 170.009, 'start': 0.309, 'title': 'Introduction to spring framework', 'summary': 'Introduces the spring framework, highlighting its importance in simplifying java development by leveraging predefined apis, enhancing application speed and efficiency.', 'duration': 169.7, 'highlights': ['Frameworks are predefined APIs that simplify Java development, enabling developers to achieve targets and deadlines efficiently.', 'Java frameworks contribute to increased application speed and efficiency by leveraging predefined code snippets and libraries.', 'Developers can choose from a variety of available Java frameworks and APIs, such as Java IO, to streamline tasks like searching in PDF or generating Excel reports.']}], 'duration': 169.7, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI309.jpg', 'highlights': ['Frameworks are predefined APIs that simplify Java development, enabling developers to achieve targets and deadlines efficiently.', 'Java frameworks contribute to increased application speed and efficiency by leveraging predefined code snippets and libraries.', 'Developers can choose from a variety of available Java frameworks and APIs, such as Java IO, to streamline tasks like searching in PDF or generating Excel reports.']}, {'end': 572.078, 'segs': [{'end': 214.988, 'src': 'embed', 'start': 170.009, 'weight': 1, 'content': [{'end': 173.971, 'text': 'or the APIs they are written in such a way that they are very well optimized.', 'start': 170.009, 'duration': 3.962}, {'end': 176.492, 'text': 'So we are looking on to a point now,', 'start': 174.651, 'duration': 1.841}, {'end': 184.794, 'text': 'right so we started from a confused state and we have reached to our potential state where we have to meet our project deadlines, and all right.', 'start': 176.492, 'duration': 8.302}, {'end': 193.836, 'text': 'So guys the key target should be to use the frameworks as much as it is feasible and it is possible in our programming structures right.', 'start': 185.114, 'duration': 8.722}, {'end': 196.377, 'text': "You shouldn't be writing the code from the scratch.", 'start': 193.876, 'duration': 2.501}, {'end': 203.199, 'text': "So, in a smart world, if we are writing the programs from the scratch right, it's not gonna help us, right?", 'start': 196.777, 'duration': 6.422}, {'end': 209.364, 'text': 'so always try to rely on the frameworks as possible, as all right Java frameworks principle.', 'start': 203.199, 'duration': 6.165}, {'end': 210.324, 'text': 'what exactly are?', 'start': 209.364, 'duration': 0.96}, {'end': 214.167, 'text': 'the Java framework principle is all about, right, so it abides the Hollywood principle.', 'start': 210.324, 'duration': 3.843}, {'end': 214.988, 'text': 'that is our.', 'start': 214.167, 'duration': 0.821}], 'summary': 'Optimize api usage and rely on frameworks to meet project deadlines.', 'duration': 44.979, 'max_score': 170.009, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI170009.jpg'}, {'end': 289.36, 'src': 'embed', 'start': 258.801, 'weight': 3, 'content': [{'end': 262.226, 'text': 'So if B and C are dependent on A or A is dependent on B and C,', 'start': 258.801, 'duration': 3.425}, {'end': 265.548, 'text': 'So how we can solve such problems?', 'start': 262.907, 'duration': 2.641}, {'end': 268.91, 'text': 'So spring framework is one of the key framework right?,', 'start': 265.628, 'duration': 3.282}, {'end': 275.333, 'text': 'Which focuses on inversion of control with the key principle as a dependency injection right?', 'start': 268.99, 'duration': 6.343}, {'end': 276.874, 'text': "So that's what we're gonna discuss.", 'start': 275.373, 'duration': 1.501}, {'end': 282.597, 'text': 'So the traditional way of constructing the Java object is by the developer,', 'start': 277.354, 'duration': 5.243}, {'end': 289.36, 'text': "but the Java framework principle or the spring framework principle will state that you don't worry about constructing the object.", 'start': 282.597, 'duration': 6.763}], 'summary': 'Spring framework focuses on inversion of control and dependency injection for solving dependency problems in java.', 'duration': 30.559, 'max_score': 258.801, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI258801.jpg'}, {'end': 329.436, 'src': 'embed', 'start': 300.248, 'weight': 0, 'content': [{'end': 305.052, 'text': 'so Hibernate Struts and Spring, these are quite famous frameworks available in the market.', 'start': 300.248, 'duration': 4.804}, {'end': 312.217, 'text': "So JSF, Play, Maven, we've got a lot of frameworks now, right? These are some of the most importantly and widely used frameworks in the industry.", 'start': 305.392, 'duration': 6.825}, {'end': 316.981, 'text': 'So we are typically going to focus on Spring frameworks.', 'start': 312.618, 'duration': 4.363}, {'end': 317.641, 'text': "So let's see that.", 'start': 317.021, 'duration': 0.62}, {'end': 323.769, 'text': "So what is Spring Framework and what exactly are its key features? So let's now switch on to that.", 'start': 318.402, 'duration': 5.367}, {'end': 329.436, 'text': "So guys, Spring has been available on SourceForge and it's available since January 2003.", 'start': 324.129, 'duration': 5.307}], 'summary': 'Various famous frameworks like hibernate, struts, and spring, with spring available since january 2003, are widely used in the industry.', 'duration': 29.188, 'max_score': 300.248, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI300248.jpg'}, {'end': 481.111, 'src': 'embed', 'start': 454.633, 'weight': 4, 'content': [{'end': 462.518, 'text': 'And I need to use the spring framework so I can manipulate the framework and I can try to manipulate the APIs which fits into my key domain itself.', 'start': 454.633, 'duration': 7.885}, {'end': 466.08, 'text': 'So we got comprehensive tools available in our Spring Framework.', 'start': 463.098, 'duration': 2.982}, {'end': 470.644, 'text': "It's lightweight when we talk of the memory part.", 'start': 466.681, 'duration': 3.963}, {'end': 473.846, 'text': "So it's very much relevant in solving the problems,", 'start': 470.964, 'duration': 2.882}, {'end': 481.111, 'text': 'because it follows the design patterns and it effectively solves all the problems that we face in our enterprise edition of Java.', 'start': 473.846, 'duration': 7.265}], 'summary': 'Spring framework offers comprehensive, lightweight tools, solving enterprise java problems.', 'duration': 26.478, 'max_score': 454.633, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI454633.jpg'}], 'start': 170.009, 'title': 'Optimizing usage of java frameworks and inversion of control with spring framework', 'summary': "Emphasizes the significance of using java frameworks to optimize programming structures and meet project deadlines, while also highlighting the concept of inversion of control and the spring framework's relevance in enterprise application development, with a special emphasis on its popularity and usage in the industry.", 'chapters': [{'end': 214.988, 'start': 170.009, 'title': 'Optimizing usage of java frameworks', 'summary': 'Discusses the importance of using java frameworks to optimize programming structures and meet project deadlines, emphasizing the hollywood principle.', 'duration': 44.979, 'highlights': ['The importance of using frameworks to meet project deadlines and optimize programming structures.', 'Emphasizing the Hollywood principle in Java framework principle.']}, {'end': 572.078, 'start': 214.988, 'title': 'Inversion of control and spring framework', 'summary': 'Discusses the concept of inversion of control and focuses on the spring framework, highlighting its key features and relevance in enterprise application development, with a special emphasis on its popularity and usage in the industry.', 'duration': 357.09, 'highlights': ['Spring Framework is widely used in enterprise application development and is popular across industries, particularly in the context of Spring MVC outshining other frameworks. Spring Framework is widely adopted and popular in the industry, especially Spring MVC.', 'Spring Framework is an open source, modular framework for developing enterprise applications in Java, offering comprehensive tools and lightweight memory usage. Spring Framework is an open source, modular framework with comprehensive tools and lightweight memory usage, suitable for enterprise application development.', 'Inversion of control principle in Spring Framework allows frameworks to create objects, and it focuses on dependency injection. Inversion of control principle in Spring Framework allows frameworks to create objects and emphasizes dependency injection.']}], 'duration': 402.069, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI170009.jpg', 'highlights': ['Spring Framework is widely adopted and popular in the industry, especially Spring MVC.', 'The importance of using frameworks to meet project deadlines and optimize programming structures.', 'Emphasizing the Hollywood principle in Java framework principle.', 'Inversion of control principle in Spring Framework allows frameworks to create objects and emphasizes dependency injection.', 'Spring Framework is an open source, modular framework with comprehensive tools and lightweight memory usage, suitable for enterprise application development.']}, {'end': 835.051, 'segs': [{'end': 645.264, 'src': 'heatmap', 'start': 572.078, 'weight': 0, 'content': [{'end': 577.041, 'text': 'so if you talk of the simplicity level, so there are three basically main reasons out here.', 'start': 572.078, 'duration': 4.963}, {'end': 579.022, 'text': 'now the simplicity is the first level.', 'start': 577.041, 'duration': 1.981}, {'end': 582.724, 'text': 'right, the writing of code is very easy in the spring framework.', 'start': 579.022, 'duration': 3.702}, {'end': 588.645, 'text': 'right, because Here you are trying to configure the things and you are not trying to write the major portion of your code.', 'start': 582.724, 'duration': 5.921}, {'end': 589.946, 'text': 'You are trying to configure the things.', 'start': 588.665, 'duration': 1.281}, {'end': 593.567, 'text': 'Then we got testability and loose coupling.', 'start': 590.646, 'duration': 2.921}, {'end': 598.348, 'text': "So these are some of the other key concerns and let's now discuss them one by one.", 'start': 593.587, 'duration': 4.761}, {'end': 606.87, 'text': 'So when I talk of simplicity, so here you are always focused on writing your business objects as in POJO or MODELOR.', 'start': 598.688, 'duration': 8.182}, {'end': 610.391, 'text': 'So what is POJO? POJO is plain old Java object.', 'start': 608.19, 'duration': 2.201}, {'end': 616.434, 'text': 'So you are supposed to write your Java object definition in the form of class in your programs.', 'start': 610.411, 'duration': 6.023}, {'end': 619.355, 'text': "So it's POJO or POJI.", 'start': 617.194, 'duration': 2.161}, {'end': 624.137, 'text': "So when I'm talking about plain old Java object in a similar way we got interfaces now.", 'start': 619.495, 'duration': 4.642}, {'end': 630.159, 'text': 'So you can also write interfaces which will help us to get to our definitions to be implemented by us.', 'start': 624.417, 'duration': 5.742}, {'end': 632.7, 'text': 'Then we got something known as testability.', 'start': 630.659, 'duration': 2.041}, {'end': 637.381, 'text': 'So Spring Framework is already having the testing layers available.', 'start': 633.18, 'duration': 4.201}, {'end': 645.264, 'text': 'For example, we got JUnit already integrated, so you can always perform a unit test or an integration test as per your requirement, right?', 'start': 637.561, 'duration': 7.703}], 'summary': 'Spring framework simplifies coding and offers testability through pojo and integrated junit.', 'duration': 73.186, 'max_score': 572.078, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI572078.jpg'}, {'end': 661.791, 'src': 'embed', 'start': 637.561, 'weight': 1, 'content': [{'end': 645.264, 'text': 'For example, we got JUnit already integrated, so you can always perform a unit test or an integration test as per your requirement, right?', 'start': 637.561, 'duration': 7.703}, {'end': 650.366, 'text': 'So this is something where we can write our own test cases and we can test our own code, right?', 'start': 645.324, 'duration': 5.042}, {'end': 654.487, 'text': 'So this is one also great feature which is available in the Spring Framework.', 'start': 650.426, 'duration': 4.061}, {'end': 656.348, 'text': 'Then we got loose coupling.', 'start': 654.947, 'duration': 1.401}, {'end': 661.791, 'text': 'So here we are trying to understand that spring objects are loosely coupled.', 'start': 656.748, 'duration': 5.043}], 'summary': 'Spring framework offers junit integration for unit and integration testing, as well as loose coupling.', 'duration': 24.23, 'max_score': 637.561, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI637561.jpg'}, {'end': 740.697, 'src': 'embed', 'start': 710.229, 'weight': 3, 'content': [{'end': 715.012, 'text': 'And it ultimately takes us to something known as loosely coupled environment.', 'start': 710.229, 'duration': 4.783}, {'end': 720.535, 'text': "So let's try to discuss this as one example that how loosely coupled concept comes into action.", 'start': 715.072, 'duration': 5.463}, {'end': 724.557, 'text': "Let's say I got one class as in rider.", 'start': 720.995, 'duration': 3.562}, {'end': 728.666, 'text': 'Okay and we got one more class as in bike.', 'start': 725.563, 'duration': 3.103}, {'end': 740.697, 'text': 'Now if rider has a reference to bike and I am going to create one constructor for the rider where I am going to create an object of bike right.', 'start': 729.387, 'duration': 11.31}], 'summary': 'Discussion on loosely coupled environment and its application in creating objects in a class.', 'duration': 30.468, 'max_score': 710.229, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI710229.jpg'}, {'end': 835.051, 'src': 'embed', 'start': 808.887, 'weight': 4, 'content': [{'end': 813.988, 'text': 'Now the construction of bike object is not dependent on the constructor of the rider.', 'start': 808.887, 'duration': 5.101}, {'end': 816.129, 'text': "So that's one key concern over here.", 'start': 814.388, 'duration': 1.741}, {'end': 822.751, 'text': 'So what I will do, I will just say r dot set the bike to be b.', 'start': 816.429, 'duration': 6.322}, {'end': 827.552, 'text': 'So this is where we are trying to reduce coupling.', 'start': 822.751, 'duration': 4.801}, {'end': 830.013, 'text': 'And I will say that it is low coupling.', 'start': 827.732, 'duration': 2.281}, {'end': 835.051, 'text': 'So guys, this is where we will be reducing the coupling.', 'start': 831.107, 'duration': 3.944}], 'summary': 'Reduced coupling between bike and rider objects, achieving low coupling', 'duration': 26.164, 'max_score': 808.887, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI808887.jpg'}], 'start': 572.078, 'title': 'Benefits of spring framework', 'summary': 'Discusses the simplicity, testability, and loose coupling in the spring framework, emphasizing the ease of code writing, use of pojos, availability of testing layers like junit, and the concept of loose coupling.', 'chapters': [{'end': 656.348, 'start': 572.078, 'title': 'Benefits of spring framework', 'summary': 'Discusses the simplicity, testability, and loose coupling in the spring framework, emphasizing the ease of code writing, use of pojos, availability of testing layers like junit, and the concept of loose coupling.', 'duration': 84.27, 'highlights': ['The Spring Framework emphasizes simplicity, with easy code writing and configuration, allowing the focus on business objects like POJOs and interfaces.', 'It offers testability through integrated testing layers like JUnit, enabling unit and integration tests for code.', 'The concept of loose coupling is highlighted in the Spring Framework, promoting flexibility and independence among components.']}, {'end': 835.051, 'start': 656.748, 'title': 'Loose coupling in spring objects', 'summary': 'Explains the concept of loose coupling in spring objects using the example of a rider and a bike, demonstrating how the use of interfaces and runtime polymorphism leads to a loosely coupled environment, reducing dependency and achieving low coupling.', 'duration': 178.303, 'highlights': ['The concept of loose coupling is demonstrated through the use of interfaces and runtime polymorphism, allowing the bike object to be set to different types of bikes at runtime, thus achieving a loosely coupled environment. The use of interfaces and runtime polymorphism allows the bike object to be set to different types of bikes at runtime, achieving a loosely coupled environment.', 'The reduction of coupling is exemplified by creating a function to set the bike reference, thereby decoupling the construction of the bike object from the constructor of the rider, ultimately achieving low coupling. By creating a function to set the bike reference, the construction of the bike object is decoupled from the constructor of the rider, leading to low coupling.', 'The high coupling between the construction of the rider and bike objects is highlighted, emphasizing the need to reduce this coupling to achieve a more efficient and flexible design. The dependency of the bike object construction on the constructor of the rider is emphasized, highlighting the need to reduce this coupling for a more efficient and flexible design.']}], 'duration': 262.973, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI572078.jpg', 'highlights': ['The Spring Framework emphasizes simplicity, with easy code writing and configuration, allowing the focus on business objects like POJOs and interfaces.', 'It offers testability through integrated testing layers like JUnit, enabling unit and integration tests for code.', 'The concept of loose coupling is highlighted in the Spring Framework, promoting flexibility and independence among components.', 'The concept of loose coupling is demonstrated through the use of interfaces and runtime polymorphism, allowing the bike object to be set to different types of bikes at runtime, thus achieving a loosely coupled environment.', 'The reduction of coupling is exemplified by creating a function to set the bike reference, thereby decoupling the construction of the bike object from the constructor of the rider, ultimately achieving low coupling.', 'The high coupling between the construction of the rider and bike objects is highlighted, emphasizing the need to reduce this coupling to achieve a more efficient and flexible design.']}, {'end': 1208, 'segs': [{'end': 878.313, 'src': 'embed', 'start': 835.071, 'weight': 0, 'content': [{'end': 844.94, 'text': 'So when I am talking of the spring framework, so spring framework will focus on always writing the code so that it is loosely coupled right?', 'start': 835.071, 'duration': 9.869}, {'end': 849.164, 'text': 'So loose coupling concept with the runtime polymorphism.', 'start': 845.32, 'duration': 3.844}, {'end': 851.867, 'text': 'it brings a charm in your code as in design pattern.', 'start': 849.164, 'duration': 2.703}, {'end': 855.469, 'text': 'So what exactly is the ecosystem of the Spring Framework?', 'start': 852.347, 'duration': 3.122}, {'end': 859.871, 'text': 'So, guys, we got a web layer right and we got a common layer, service layer and a data layer.', 'start': 855.489, 'duration': 4.382}, {'end': 864.533, 'text': 'So these are the different layers available in the Spring Framework ecosystem.', 'start': 859.931, 'duration': 4.602}, {'end': 878.313, 'text': "So we got the web layer right and it's basically the spring IO platform right, and thereafter we got a common layer where we do some basic operation,", 'start': 865.788, 'duration': 12.525}], 'summary': 'Spring framework promotes loose coupling and has web, common, service, and data layers.', 'duration': 43.242, 'max_score': 835.071, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI835071.jpg'}, {'end': 938.941, 'src': 'embed', 'start': 900.338, 'weight': 1, 'content': [{'end': 905.759, 'text': 'So guys in the architectural part of the Spring Framework, we got the base layer as the testing layer available.', 'start': 900.338, 'duration': 5.421}, {'end': 907.68, 'text': "So it's a layered architecture now.", 'start': 906.019, 'duration': 1.661}, {'end': 909.5, 'text': 'So Spring architecture is a layered architecture.', 'start': 907.72, 'duration': 1.78}, {'end': 915.746, 'text': 'So the testing layer is basically focusing on the J unit part, right? So where we can write the unit testing.', 'start': 910.08, 'duration': 5.666}, {'end': 917.748, 'text': 'Then we got the core container.', 'start': 916.187, 'duration': 1.561}, {'end': 923.774, 'text': 'So core container of the spring framework includes beans, core context and spring expression language.', 'start': 918.048, 'duration': 5.726}, {'end': 929.318, 'text': 'So this is the major and the main layer of your spring framework, right?', 'start': 924.517, 'duration': 4.801}, {'end': 936.44, 'text': 'So here we got inversion of control and dependency injection, which is used in the upper layers, even right?', 'start': 929.378, 'duration': 7.062}, {'end': 938.941, 'text': 'And this forms the core part of your spring framework.', 'start': 936.78, 'duration': 2.161}], 'summary': 'Spring framework has a layered architecture with testing layer comprising junit, and core container including beans, core context, and spring expression language. it also features inversion of control and dependency injection.', 'duration': 38.603, 'max_score': 900.338, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI900338.jpg'}, {'end': 1083.174, 'src': 'embed', 'start': 1049.509, 'weight': 2, 'content': [{'end': 1051.69, 'text': "Let's talk about the modules one by one.", 'start': 1049.509, 'duration': 2.181}, {'end': 1055.412, 'text': 'So when we are talking about the core part of the Spring Framework,', 'start': 1052.13, 'duration': 3.282}, {'end': 1060.996, 'text': 'so we got a core container which focuses on dependency injection and inversion of control.', 'start': 1055.412, 'duration': 5.584}, {'end': 1065.92, 'text': 'So the core layer provides the fundamental parts for the framework.', 'start': 1061.676, 'duration': 4.244}, {'end': 1074.469, 'text': 'So these are the base of the spring framework now, right? So we got something known as BEAMS, context and spring expression language.', 'start': 1065.94, 'duration': 8.529}, {'end': 1076.811, 'text': 'So these are the three important key concerns, right?', 'start': 1074.489, 'duration': 2.322}, {'end': 1083.174, 'text': 'So, guys, beans are nothing, but they are the Java objects which are constructed by the Spring framework, so you need to configure them.', 'start': 1077.171, 'duration': 6.003}], 'summary': "Spring framework's core module includes core container focusing on dependency injection and inversion of control, with key concerns being beams, context, and spring expression language.", 'duration': 33.665, 'max_score': 1049.509, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1049509.jpg'}, {'end': 1106.989, 'src': 'heatmap', 'start': 1077.171, 'weight': 0.754, 'content': [{'end': 1083.174, 'text': 'So, guys, beans are nothing, but they are the Java objects which are constructed by the Spring framework, so you need to configure them.', 'start': 1077.171, 'duration': 6.003}, {'end': 1084.895, 'text': 'Then we got context.', 'start': 1083.694, 'duration': 1.201}, {'end': 1087.396, 'text': "it's an implementation of the beans itself, right?", 'start': 1084.895, 'duration': 2.501}, {'end': 1093.82, 'text': 'So it supports internationalization, for example, EJB, JMS or remote APIs, if you want to come up with that.', 'start': 1087.697, 'duration': 6.123}, {'end': 1099.423, 'text': 'Then Spring expression language and expression language with the help of which we can write programs even.', 'start': 1094.18, 'duration': 5.243}, {'end': 1106.989, 'text': 'The data access modules of the spring framework will be able to access the data sets right?', 'start': 1100.123, 'duration': 6.866}], 'summary': 'Beans in spring framework support data access and internationalization.', 'duration': 29.818, 'max_score': 1077.171, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1077171.jpg'}, {'end': 1165.67, 'src': 'embed', 'start': 1125.482, 'weight': 5, 'content': [{'end': 1127.503, 'text': 'So we got these integration layers which we can use.', 'start': 1125.482, 'duration': 2.021}, {'end': 1131.285, 'text': 'Then we got basically an object to XML mappings available.', 'start': 1127.884, 'duration': 3.401}, {'end': 1133.666, 'text': 'Then Java messaging services are available.', 'start': 1131.565, 'duration': 2.101}, {'end': 1137.348, 'text': 'Then transaction management is also available right?', 'start': 1133.686, 'duration': 3.662}, {'end': 1146.693, 'text': 'So if you are going to fire a transaction, so commit and rollback, all these supports are available within your data access module itself.', 'start': 1137.388, 'duration': 9.305}, {'end': 1155, 'text': 'So, guys, over the web layer we are trying to understand something known as a model view controller based web application, right?', 'start': 1147.293, 'duration': 7.707}, {'end': 1159.825, 'text': 'So the main industrial usage over the web is web MVC module, right?', 'start': 1155.02, 'duration': 4.805}, {'end': 1165.67, 'text': "So that's like one of the major modules which is quite readily used in the Spring framework and it is industrially accepted.", 'start': 1159.845, 'duration': 5.825}], 'summary': 'Spring framework offers integration layers, object to xml mappings, java messaging services, and transaction management. it emphasizes model view controller (mvc) based web applications.', 'duration': 40.188, 'max_score': 1125.482, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1125482.jpg'}, {'end': 1218.87, 'src': 'embed', 'start': 1186.075, 'weight': 7, 'content': [{'end': 1189.94, 'text': 'So AOP is where you are going to fulfill the cross-cutting concerns.', 'start': 1186.075, 'duration': 3.865}, {'end': 1196.529, 'text': 'Then we got Instrumenting, where we provide the class instrumentation support and class loader implementation.', 'start': 1190.06, 'duration': 6.469}, {'end': 1198.111, 'text': 'We got Aspects.', 'start': 1197.03, 'duration': 1.081}, {'end': 1204.337, 'text': 'Right. so aspects are nothing, but it provides the integrations with the aspect J and aspect J,', 'start': 1198.832, 'duration': 5.505}, {'end': 1208, 'text': 'something where we gonna fulfill the cross cutting concerns exactly where.', 'start': 1204.337, 'duration': 3.663}, {'end': 1211.484, 'text': 'Then we got messages, right, and the testing layer.', 'start': 1208.441, 'duration': 3.043}, {'end': 1218.87, 'text': 'So guys, in case you wanna come up with the unit testing, so we got support with the help of components like JUnit or TestNG.', 'start': 1211.524, 'duration': 7.346}], 'summary': 'Aop fulfills cross-cutting concerns, provides class instrumentation support, integrates with aspect j, and supports unit testing with junit or testng.', 'duration': 32.795, 'max_score': 1186.075, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1186075.jpg'}], 'start': 835.071, 'title': 'Spring framework modules and ecosystem', 'summary': 'Discusses the spring framework ecosystem, covering web layer, common layer, service layer, and data layer, along with the architectural part of the spring framework. it also provides an overview of around 20 modules available, focusing on aspects like dependency injection, inversion of control, data access, web mvc, and cross-cutting concerns, such as security, with support for integration with frameworks like hibernate and instrumentation.', 'chapters': [{'end': 938.941, 'start': 835.071, 'title': 'Spring framework ecosystem', 'summary': 'Discusses the spring framework ecosystem, which includes web layer, common layer, service layer, and data layer, and the architectural part of the spring framework, focusing on the layered architecture, the core container, and its major components.', 'duration': 103.87, 'highlights': ['The architectural part of the Spring Framework includes a layered architecture with a base layer for testing, focusing on the JUnit part, and a core container consisting of beans, core context, and Spring Expression Language, which forms the core part of the framework.', 'The Spring Framework ecosystem comprises web layer, common layer, service layer, and data layer, with modules available for interaction, forming the entire ecosystem of the framework.', 'The code in the Spring Framework is designed for loose coupling with runtime polymorphism, bringing charm in the code as in design pattern.']}, {'end': 1208, 'start': 939.441, 'title': 'Spring framework modules overview', 'summary': 'Provides an overview of the spring framework modules, including the core container, aop aspects, data access integration layer, and web container, with a total of around 20 modules available, focusing on aspects like dependency injection, inversion of control, data access, web mvc, and cross-cutting concerns, such as security, with support for integration with frameworks like hibernate and instrumentation.', 'duration': 268.559, 'highlights': ['The Spring Framework contains around 20 modules, grouped based on features, including core container, data access or integration, web layer, AOP aspects, instrumentation, and testing layers. Quantifiable data: Number of modules, 20. Key points: Grouping based on features, core components identified.', 'The core container focuses on dependency injection and inversion of control, providing fundamental parts for the framework, including BEAMS, context, and Spring expression language. Quantifiable data: Core functionalities, BEAMS, context, Spring expression language. Key points: Dependency injection, inversion of control, fundamental parts.', 'The data access modules facilitate interaction with databases, including support for JDBC layer, ORM layer (e.g., Hibernate), object to XML mappings, Java messaging services, and transaction management. Quantifiable data: Supported database interaction components, JDBC layer, ORM layer, object to XML mappings, Java messaging services, transaction management. Key points: Database interaction, support for various components.', 'The web layer includes web MVC module for model view controller based web applications, along with features like portlets, sockets, and web-oriented functionalities. Quantifiable data: Major modules, web MVC module. Key points: Model view controller, web-oriented features, portlets, sockets.', 'Miscellaneous modules in the Spring Framework cover aspects, instrumentation, and integrations with aspect J for fulfilling cross-cutting concerns. Quantifiable data: Miscellaneous modules, aspects, instrumentation, integration with aspect J. Key points: Fulfillment of cross-cutting concerns, integration support.']}], 'duration': 372.929, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI835071.jpg', 'highlights': ['The Spring Framework ecosystem comprises web layer, common layer, service layer, and data layer, with modules available for interaction, forming the entire ecosystem of the framework.', 'The architectural part of the Spring Framework includes a layered architecture with a base layer for testing, focusing on the JUnit part, and a core container consisting of beans, core context, and Spring Expression Language, which forms the core part of the framework.', 'The Spring Framework contains around 20 modules, grouped based on features, including core container, data access or integration, web layer, AOP aspects, instrumentation, and testing layers.', 'The code in the Spring Framework is designed for loose coupling with runtime polymorphism, bringing charm in the code as in design pattern.', 'The core container focuses on dependency injection and inversion of control, providing fundamental parts for the framework, including BEAMS, context, and Spring expression language.', 'The data access modules facilitate interaction with databases, including support for JDBC layer, ORM layer (e.g., Hibernate), object to XML mappings, Java messaging services, and transaction management.', 'The web layer includes web MVC module for model view controller based web applications, along with features like portlets, sockets, and web-oriented functionalities.', 'Miscellaneous modules in the Spring Framework cover aspects, instrumentation, and integrations with aspect J for fulfilling cross-cutting concerns.']}, {'end': 1464.667, 'segs': [{'end': 1237.721, 'src': 'embed', 'start': 1208.441, 'weight': 0, 'content': [{'end': 1211.484, 'text': 'Then we got messages, right, and the testing layer.', 'start': 1208.441, 'duration': 3.043}, {'end': 1218.87, 'text': 'So guys, in case you wanna come up with the unit testing, so we got support with the help of components like JUnit or TestNG.', 'start': 1211.524, 'duration': 7.346}, {'end': 1220.652, 'text': 'So these are again the frameworks.', 'start': 1219.591, 'duration': 1.061}, {'end': 1223.893, 'text': "So that's why we call spring framework as a framework of frameworks.", 'start': 1220.672, 'duration': 3.221}, {'end': 1227.615, 'text': 'Now let us understand how the spring framework will flow.', 'start': 1224.554, 'duration': 3.061}, {'end': 1233.138, 'text': 'So, guys, the very first component in the spring framework is inversion of control right?', 'start': 1227.916, 'duration': 5.222}, {'end': 1237.721, 'text': 'So we need to come up slowly and slowly so that we can reach up to the end point.', 'start': 1233.519, 'duration': 4.202}], 'summary': 'Spring framework supports unit testing with junit or testng, and flows from inversion of control to the end point.', 'duration': 29.28, 'max_score': 1208.441, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1208441.jpg'}, {'end': 1323.832, 'src': 'embed', 'start': 1295.164, 'weight': 2, 'content': [{'end': 1300.565, 'text': 'So, guys, the Spring IOC container, by using the Java POJO classes and configuration metadata,', 'start': 1295.164, 'duration': 5.401}, {'end': 1304.866, 'text': 'produces a fully configured and an executable system or an application right?', 'start': 1300.565, 'duration': 4.301}, {'end': 1309.007, 'text': 'So what we are trying to say is that you come up with the POJO class,', 'start': 1305.426, 'duration': 3.581}, {'end': 1314.449, 'text': 'you write the POJO class and you provide the metadata in the form of some XML configuration.', 'start': 1309.007, 'duration': 5.442}, {'end': 1323.832, 'text': 'You give it to the Spring framework or the Spring container and it will automatically give us which we can use directly in our application.', 'start': 1314.749, 'duration': 9.083}], 'summary': 'Spring ioc container uses java pojo classes and xml metadata to produce a fully configured and executable system.', 'duration': 28.668, 'max_score': 1295.164, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1295164.jpg'}, {'end': 1375.577, 'src': 'heatmap', 'start': 1295.164, 'weight': 0.724, 'content': [{'end': 1300.565, 'text': 'So, guys, the Spring IOC container, by using the Java POJO classes and configuration metadata,', 'start': 1295.164, 'duration': 5.401}, {'end': 1304.866, 'text': 'produces a fully configured and an executable system or an application right?', 'start': 1300.565, 'duration': 4.301}, {'end': 1309.007, 'text': 'So what we are trying to say is that you come up with the POJO class,', 'start': 1305.426, 'duration': 3.581}, {'end': 1314.449, 'text': 'you write the POJO class and you provide the metadata in the form of some XML configuration.', 'start': 1309.007, 'duration': 5.442}, {'end': 1323.832, 'text': 'You give it to the Spring framework or the Spring container and it will automatically give us which we can use directly in our application.', 'start': 1314.749, 'duration': 9.083}, {'end': 1326.194, 'text': 'Or you can say we got a ready to use application itself.', 'start': 1323.852, 'duration': 2.342}, {'end': 1330.176, 'text': "So let's see what exactly are the IOC containers.", 'start': 1326.734, 'duration': 3.442}, {'end': 1336.54, 'text': 'So we got two different APIs which are the IOC containers in the Spring Framework.', 'start': 1330.196, 'duration': 6.344}, {'end': 1339.542, 'text': 'One is the Bean Factory, other one is the application context.', 'start': 1336.62, 'duration': 2.922}, {'end': 1345.485, 'text': 'So Bean Factory is basically an interface and application context is an implementation of Bean Factory itself.', 'start': 1339.962, 'duration': 5.523}, {'end': 1348.087, 'text': 'So it is always better to come up and use application context.', 'start': 1345.505, 'duration': 2.582}, {'end': 1356.49, 'text': "So what happens over here, these containers will basically load the XML files and thereafter they're gonna construct the objects for us.", 'start': 1348.507, 'duration': 7.983}, {'end': 1361.391, 'text': 'So we can also do by constructing, by writing the annotations in our POJO classes itself.', 'start': 1356.61, 'duration': 4.781}, {'end': 1364.132, 'text': 'If you wanna skip XML, you can come up with the annotation model.', 'start': 1361.471, 'duration': 2.661}, {'end': 1365.713, 'text': 'So that is also supported.', 'start': 1364.532, 'duration': 1.181}, {'end': 1370.535, 'text': 'Now after the inversion of control, we got dependency injection.', 'start': 1366.433, 'duration': 4.102}, {'end': 1375.577, 'text': 'Now, dependency injection is all about when we have dependency in our code right?', 'start': 1370.755, 'duration': 4.822}], 'summary': 'Spring ioc container uses pojo classes and xml config to produce a ready-to-use application through bean factory or application context.', 'duration': 80.413, 'max_score': 1295.164, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1295164.jpg'}, {'end': 1451.698, 'src': 'heatmap', 'start': 1376.097, 'weight': 1, 'content': [{'end': 1382.26, 'text': 'So Spring Framework has this DI technique where we can remove the dependency from our code right?', 'start': 1376.097, 'duration': 6.163}, {'end': 1392.464, 'text': "So it's gonna make our application quite easy and managed to use and, most importantly, our programming code becomes loosely coupled right?", 'start': 1382.54, 'duration': 9.924}, {'end': 1398.686, 'text': "So that's the key important point which we need to take care even when we are writing the code examples.", 'start': 1392.504, 'duration': 6.182}, {'end': 1404.028, 'text': 'All right, so how this dependency injection is taken care by the spring framework.', 'start': 1399.366, 'duration': 4.662}, {'end': 1408.211, 'text': 'So in the spring framework, we got by constructor and by setter method.', 'start': 1404.508, 'duration': 3.703}, {'end': 1414.336, 'text': 'So these are the two different techniques right? By which the dependency injection is resolved right?', 'start': 1408.231, 'duration': 6.105}, {'end': 1421.481, 'text': 'So we got a constructor arg and a property as key tags which can help us to resolve this dependency injection.', 'start': 1414.356, 'duration': 7.125}, {'end': 1425.904, 'text': "Then next is the AOP, that's like aspect oriented programming.", 'start': 1422.322, 'duration': 3.582}, {'end': 1434.268, 'text': 'So aspect oriented programming is basically where we need to implement cross cutting concerns, right?', 'start': 1426.404, 'duration': 7.864}, {'end': 1438.149, 'text': "So I'll just try to take up one example of a cross cutting concern, right?", 'start': 1434.328, 'duration': 3.821}, {'end': 1443.372, 'text': 'So consider that we logged on to Amazon and we want to look on to a product.', 'start': 1438.229, 'duration': 5.143}, {'end': 1446.194, 'text': 'right. so I search for an iPhone.', 'start': 1443.832, 'duration': 2.362}, {'end': 1451.698, 'text': "so the moment I started searching the iPhone and I'm browsing the different different iPhones in the same category.", 'start': 1446.194, 'duration': 5.504}], 'summary': "Spring framework's di technique makes code easy and loosely coupled. it resolves dependency injection using constructor and setter methods, and implements aop for cross cutting concerns.", 'duration': 70.097, 'max_score': 1376.097, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1376097.jpg'}], 'start': 1208.441, 'title': 'Spring framework and ioc', 'summary': "Introduces the spring framework, explaining inversion of control and its importance in managing dependencies, and discusses ioc containers, dependency injection, and aop in spring framework, emphasizing benefits and techniques for dependency injection, and aop's implementation in tracking user behavior for promotional offers.", 'chapters': [{'end': 1273.177, 'start': 1208.441, 'title': 'Spring framework and inversion of control', 'summary': "Introduces the spring framework, which is referred to as a 'framework of frameworks' and explains the concept of inversion of control and its importance in managing dependencies within the program.", 'duration': 64.736, 'highlights': ["Spring framework is referred to as a 'framework of frameworks' The Spring framework is called a 'framework of frameworks' due to its support for various components and frameworks like JUnit and TestNG.", 'Introduction to the concept of inversion of control The chapter explains the concept of inversion of control as the first component in the Spring framework, emphasizing its importance in managing object dependencies within a program.', 'Explanation of managing dependencies in a program The concept of managing dependencies within a program is illustrated using the example of a rider and a bike, highlighting the need to configure dependencies in the Spring framework.']}, {'end': 1464.667, 'start': 1273.217, 'title': 'Spring framework: ioc containers and dependency injection', 'summary': "Discusses the spring framework's ioc containers, dependency injection, and aop, emphasizing the benefits of dependency injection in making the application easy to use and loosely coupled, and the various techniques for dependency injection. it also touches on aspect oriented programming (aop) and its implementation in tracking user behavior for promotional offers on e-commerce platforms.", 'duration': 191.45, 'highlights': ['The Spring IOC container, using Java POJO classes and configuration metadata, produces a fully configured and executable system or application, making the application ready to use (Quantity: 1)', 'Dependency injection in the Spring Framework removes dependencies from the code, making the application easy to use and managed, and the programming code becomes loosely coupled (Quantity: 1)', 'The Spring Framework provides two techniques for dependency injection: by constructor and by setter method, using constructor arg and property as key tags to resolve dependency injection (Quantity: 1)', 'AOP in Spring Framework implements cross-cutting concerns, such as tracking user behavior for promotional offers on e-commerce platforms like Amazon (Quantity: 1)']}], 'duration': 256.226, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1208441.jpg', 'highlights': ["The Spring framework is called a 'framework of frameworks' due to its support for various components and frameworks like JUnit and TestNG.", 'The concept of managing dependencies within a program is illustrated using the example of a rider and a bike, highlighting the need to configure dependencies in the Spring framework.', 'The Spring IOC container, using Java POJO classes and configuration metadata, produces a fully configured and executable system or application, making the application ready to use.', 'Dependency injection in the Spring Framework removes dependencies from the code, making the application easy to use and managed, and the programming code becomes loosely coupled.', 'The Spring Framework provides two techniques for dependency injection: by constructor and by setter method, using constructor arg and property as key tags to resolve dependency injection.', 'AOP in Spring Framework implements cross-cutting concerns, such as tracking user behavior for promotional offers on e-commerce platforms like Amazon.']}, {'end': 1865.734, 'segs': [{'end': 1531.79, 'src': 'embed', 'start': 1485.914, 'weight': 0, 'content': [{'end': 1488.875, 'text': "So as in the number one, it's gonna provide the modularity.", 'start': 1485.914, 'duration': 2.961}, {'end': 1493.676, 'text': 'Then AOP will break the program into the distinct parts called concerns.', 'start': 1489.335, 'duration': 4.341}, {'end': 1498.597, 'text': 'It also increases the modularity when we write these cross-cutting concerns.', 'start': 1494.056, 'duration': 4.541}, {'end': 1504.778, 'text': 'And a cross-cutting concern is a concern which can affect the entire application right?', 'start': 1498.737, 'duration': 6.041}, {'end': 1508.52, 'text': 'For example, security is one of the major cross-cutting concerns, right?', 'start': 1504.819, 'duration': 3.701}, {'end': 1512.522, 'text': 'So we must be implementing them in a proper and in a regular way.', 'start': 1509.1, 'duration': 3.422}, {'end': 1514.523, 'text': 'All right, so have a look, guys.', 'start': 1513.062, 'duration': 1.461}, {'end': 1523.786, 'text': 'So in a cross-cutting concern, so if we have a different, different modules and if we got couple of layers, for example, model, view, and controller.', 'start': 1514.763, 'duration': 9.023}, {'end': 1529.529, 'text': 'So we need to implement these cross-cutting concerns in every module and in every stage.', 'start': 1523.826, 'duration': 5.703}, {'end': 1531.79, 'text': "Let's say security.", 'start': 1530.71, 'duration': 1.08}], 'summary': 'Aop increases modularity by handling cross-cutting concerns like security in different modules and layers.', 'duration': 45.876, 'max_score': 1485.914, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1485914.jpg'}, {'end': 1576.065, 'src': 'embed', 'start': 1552.887, 'weight': 2, 'content': [{'end': 1559.713, 'text': 'right?. So, guys, what happens over here when we are writing any enterprise application or a web application,', 'start': 1552.887, 'duration': 6.826}, {'end': 1562.395, 'text': 'or if you try to write any software product right?', 'start': 1559.713, 'duration': 2.682}, {'end': 1565.138, 'text': 'So model view controller is one design pattern.', 'start': 1562.716, 'duration': 2.422}, {'end': 1571.442, 'text': 'So in this design pattern what happens, the user will send a request over the presentation layer.', 'start': 1565.638, 'duration': 5.804}, {'end': 1576.065, 'text': "So this request can be onto a presentation layer that's like a user interface.", 'start': 1571.762, 'duration': 4.303}], 'summary': 'Model-view-controller is a design pattern for handling user requests in enterprise and web applications.', 'duration': 23.178, 'max_score': 1552.887, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1552887.jpg'}, {'end': 1654.285, 'src': 'embed', 'start': 1629.244, 'weight': 3, 'content': [{'end': 1634.891, 'text': 'So what we need to focus, we need to write the model separately, controller separately and view separately.', 'start': 1629.244, 'duration': 5.647}, {'end': 1646.299, 'text': "So Spring MVC as a complete one package helps us to write minimal of code because it's all modeled as a framework itself for us.", 'start': 1635.231, 'duration': 11.068}, {'end': 1654.285, 'text': 'So you need to write minimal code and you just need to write your own business logic and everything else will be taken care by the Spring MVC flow.', 'start': 1646.619, 'duration': 7.666}], 'summary': 'Spring mvc minimizes code by separating model, controller, and view, allowing focus on business logic.', 'duration': 25.041, 'max_score': 1629.244, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1629244.jpg'}, {'end': 1791.63, 'src': 'heatmap', 'start': 1761.899, 'weight': 0.879, 'content': [{'end': 1765.24, 'text': 'I got one constructor with all the inputs.', 'start': 1761.899, 'duration': 3.341}, {'end': 1769.282, 'text': "And lastly I'm gonna do it as generate getters and setters.", 'start': 1765.681, 'duration': 3.601}, {'end': 1770.842, 'text': "Let's select all.", 'start': 1770.042, 'duration': 0.8}, {'end': 1773.243, 'text': 'So here we are with the getters and setters.', 'start': 1771.422, 'duration': 1.821}, {'end': 1777.044, 'text': "And now I'm also gonna write one toString method.", 'start': 1773.583, 'duration': 3.461}, {'end': 1779.225, 'text': "So let's generate one toString method.", 'start': 1777.504, 'duration': 1.721}, {'end': 1788.046, 'text': 'So this is one structure which is representing POJO or model or bean, right?', 'start': 1779.705, 'duration': 8.341}, {'end': 1791.63, 'text': 'Call it as a POJO or a model or a bean structure, right?', 'start': 1788.306, 'duration': 3.324}], 'summary': 'The transcript covers creating a pojo structure with a constructor, getters, setters, and a tostring method.', 'duration': 29.731, 'max_score': 1761.899, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1761899.jpg'}, {'end': 1822.426, 'src': 'embed', 'start': 1788.306, 'weight': 4, 'content': [{'end': 1791.63, 'text': 'Call it as a POJO or a model or a bean structure, right?', 'start': 1788.306, 'duration': 3.324}, {'end': 1798.979, 'text': "So, once I am done with this, what I will do next is that I'll write one client class.", 'start': 1792.031, 'duration': 6.948}, {'end': 1802.203, 'text': "So I'm gonna write one class as in client.", 'start': 1799.72, 'duration': 2.483}, {'end': 1805.625, 'text': 'along with the main map, right? So this is my main method.', 'start': 1802.743, 'duration': 2.882}, {'end': 1810.087, 'text': 'So what is the traditional way as a developer, how I will construct the objects right?', 'start': 1805.905, 'duration': 4.182}, {'end': 1814.33, 'text': 'So I will say employee, as in a new employee, right?', 'start': 1810.107, 'duration': 4.223}, {'end': 1822.426, 'text': "And thereafter I'll say e.set of eid as 101, e.set of eid as 100..", 'start': 1814.87, 'duration': 7.556}], 'summary': 'Developing a client class to construct employee objects in a traditional way.', 'duration': 34.12, 'max_score': 1788.306, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1788306.jpg'}], 'start': 1464.667, 'title': 'Spring framework and mvc', 'summary': 'Discusses aspect-oriented programming in the spring framework, addressing cross-cutting concerns and providing modularity. it also introduces the spring mvc framework and demonstrates creating a java application with pojo structure and client class for object construction.', 'chapters': [{'end': 1628.824, 'start': 1464.667, 'title': 'Aspect-oriented programming in spring framework', 'summary': 'Discusses the use of aspect-oriented programming in the spring framework to address cross-cutting concerns, providing modularity and breaking the program into distinct parts, while also highlighting the importance of implementing cross-cutting concerns in different modules and stages, and the role of model-view-controller design pattern in enterprise and web applications.', 'duration': 164.157, 'highlights': ['Aspect-oriented programming in Spring Framework addresses cross-cutting concerns, providing modularity and breaking the program into distinct parts called concerns.', 'Implementing cross-cutting concerns increases modularity and ensures proper implementation in different modules and stages of an application.', 'The model-view-controller design pattern plays a crucial role in processing user requests and data in enterprise and web applications.']}, {'end': 1865.734, 'start': 1629.244, 'title': 'Spring mvc framework and java application', 'summary': 'Introduces the spring mvc framework, highlighting its role in minimizing code and handling business logic, and also demonstrates the process of creating a java application with pojo structure and client class for object construction.', 'duration': 236.49, 'highlights': ['The Spring MVC framework minimizes code and handles business logic, streamlining the development process. Spring MVC allows for minimal code writing and focuses on business logic, simplifying the development process.', 'Demonstrates the creation of a Java application with a POJO structure and a client class for object construction. The transcript illustrates the process of creating a Java application, including defining a POJO class and a client class for object construction.']}], 'duration': 401.067, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1464667.jpg', 'highlights': ['Aspect-oriented programming in Spring Framework addresses cross-cutting concerns, providing modularity and breaking the program into distinct parts called concerns.', 'Implementing cross-cutting concerns increases modularity and ensures proper implementation in different modules and stages of an application.', 'The model-view-controller design pattern plays a crucial role in processing user requests and data in enterprise and web applications.', 'The Spring MVC framework minimizes code and handles business logic, streamlining the development process.', 'Demonstrates the creation of a Java application with a POJO structure and a client class for object construction. The transcript illustrates the process of creating a Java application, including defining a POJO class and a client class for object construction.']}, {'end': 2442.767, 'segs': [{'end': 2036.335, 'src': 'heatmap', 'start': 1935.191, 'weight': 0, 'content': [{'end': 1943.694, 'text': "So we now need to follow these three simple steps to perform the first fundamental that's like inversion of control.", 'start': 1935.191, 'duration': 8.503}, {'end': 1951.718, 'text': "We add the jar files for Spring Core and thereafter we're gonna configure the Java objects in an XML file and finally we'll use the Spring IOC container,", 'start': 1944.215, 'duration': 7.503}, {'end': 1959.74, 'text': 'For example, bean factory or application context, so that we can get the objects constructed by the spring container itself right?', 'start': 1952.458, 'duration': 7.282}, {'end': 1961.54, 'text': "So let's see how we can do that.", 'start': 1960.16, 'duration': 1.38}, {'end': 1968.321, 'text': "So step number one, I'm going to configure my project with the build path with the spring code jar file.", 'start': 1961.9, 'duration': 6.421}, {'end': 1970.782, 'text': "So I'm gonna say build path, configure the build path.", 'start': 1968.341, 'duration': 2.441}, {'end': 1976.143, 'text': "And in my build path configuration, I'm gonna add the external jars under the libraries.", 'start': 1971.402, 'duration': 4.741}, {'end': 1979.551, 'text': 'So here we are with the spring jar.', 'start': 1977.25, 'duration': 2.301}, {'end': 1983.792, 'text': 'So I already have my core jars available over here, right? So you can download it over the web.', 'start': 1979.571, 'duration': 4.221}, {'end': 1990.315, 'text': "So I'm just gonna link these jar files with my project structure and let's say apply and okay.", 'start': 1984.253, 'duration': 6.062}, {'end': 1995.557, 'text': 'So here we are with the spring core jar files available in my project, right?', 'start': 1990.755, 'duration': 4.802}, {'end': 2001.279, 'text': "So once I'm done with this, so the next part is to come up with one XML configuration file.", 'start': 1995.577, 'duration': 5.702}, {'end': 2003.16, 'text': 'So let me take up to that.', 'start': 2001.799, 'duration': 1.361}, {'end': 2004.3, 'text': 'So just a moment.', 'start': 2003.68, 'duration': 0.62}, {'end': 2008.285, 'text': "So I'll just copy one of the employee bean.xml file.", 'start': 2004.684, 'duration': 3.601}, {'end': 2012.046, 'text': "So I have this XML file and I'm going to copy it in my SRC directory.", 'start': 2008.345, 'duration': 3.701}, {'end': 2014.427, 'text': "If you will see, I'm not copying it to my package.", 'start': 2012.066, 'duration': 2.361}, {'end': 2017.468, 'text': "I'm copying it into the SRC directory out here.", 'start': 2014.527, 'duration': 2.941}, {'end': 2025.931, 'text': "So once we are done with the copying of this XML file, let's try to open and see the structure of this XML file now.", 'start': 2017.888, 'duration': 8.043}, {'end': 2036.335, 'text': "So the structure of the XML file says that it's basically one root tag known as beans with the tag known as beans and the property.", 'start': 2026.311, 'duration': 10.024}], 'summary': 'Configure spring core jar files and xml file for spring ioc container setup.', 'duration': 35.591, 'max_score': 1935.191, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1935191.jpg'}, {'end': 2043.098, 'src': 'embed', 'start': 2017.888, 'weight': 3, 'content': [{'end': 2025.931, 'text': "So once we are done with the copying of this XML file, let's try to open and see the structure of this XML file now.", 'start': 2017.888, 'duration': 8.043}, {'end': 2036.335, 'text': "So the structure of the XML file says that it's basically one root tag known as beans with the tag known as beans and the property.", 'start': 2026.311, 'duration': 10.024}, {'end': 2040.417, 'text': 'So what is this bean ID all about? So ID can be any name of your choice.', 'start': 2036.935, 'duration': 3.482}, {'end': 2043.098, 'text': "For example, I'm gonna say this is EMP1.", 'start': 2040.437, 'duration': 2.661}], 'summary': "Xml file contains one root tag 'beans' with 'bean' and 'property', and assigns id 'emp1'.", 'duration': 25.21, 'max_score': 2017.888, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI2017888.jpg'}, {'end': 2161.597, 'src': 'embed', 'start': 2126.434, 'weight': 4, 'content': [{'end': 2128.695, 'text': "So I'm gonna use the application context out here.", 'start': 2126.434, 'duration': 2.261}, {'end': 2131.155, 'text': "So let's see how we can use the application context.", 'start': 2129.235, 'duration': 1.92}, {'end': 2134.456, 'text': 'So you say application context, if you can see over here.', 'start': 2131.175, 'duration': 3.281}, {'end': 2137.597, 'text': 'So application context context.', 'start': 2134.916, 'duration': 2.681}, {'end': 2144.302, 'text': 'as in a new class path, xml.', 'start': 2137.597, 'duration': 6.705}, {'end': 2150.667, 'text': 'application context and you mention over here employee bean dot xml.', 'start': 2144.302, 'duration': 6.365}, {'end': 2153.81, 'text': "so that's this name of the file can be any name of your choice.", 'start': 2150.667, 'duration': 3.143}, {'end': 2161.597, 'text': 'right, you are free to use any name, but make sure that this employee bean dot xml file is available under the src directory, right.', 'start': 2153.81, 'duration': 7.787}], 'summary': 'Using application context to configure employee bean in xml file.', 'duration': 35.163, 'max_score': 2126.434, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI2126434.jpg'}, {'end': 2309.741, 'src': 'embed', 'start': 2261.662, 'weight': 2, 'content': [{'end': 2268.226, 'text': 'So XML file is not a source code which will be compiled into some binary and then binary will be processed by JVM.', 'start': 2261.662, 'duration': 6.564}, {'end': 2271.148, 'text': 'So JVM is processing the Java files.', 'start': 2268.546, 'duration': 2.602}, {'end': 2272.628, 'text': 'as in the bytecode.', 'start': 2271.528, 'duration': 1.1}, {'end': 2276.189, 'text': 'So this XML file is not a part of your source, right?', 'start': 2272.968, 'duration': 3.221}, {'end': 2284.191, 'text': "So it's gonna be modified at any time, whenever and as required by us, right?", 'start': 2276.509, 'duration': 7.682}, {'end': 2287.892, 'text': 'So here the configuration goes in the XML file.', 'start': 2284.591, 'duration': 3.301}, {'end': 2299.255, 'text': 'So the real implementation of the same inversion of control can be seen in the Android, right? So let me run down with one example over here.', 'start': 2288.272, 'duration': 10.983}, {'end': 2302.316, 'text': 'So where this inversion of control fits into.', 'start': 2299.895, 'duration': 2.421}, {'end': 2304.018, 'text': "So let's see that part.", 'start': 2302.857, 'duration': 1.161}, {'end': 2309.741, 'text': "So how the Spring Framework is related to the Android, let's try to come up and understand this part.", 'start': 2304.358, 'duration': 5.383}], 'summary': 'Jvm processes java files, xml used for configuration, and inversion of control seen in android.', 'duration': 48.079, 'max_score': 2261.662, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI2261662.jpg'}], 'start': 1866.254, 'title': 'Implementing inversion of control with spring framework', 'summary': 'Discusses implementing inversion of control in the spring framework, outlining three key steps, and covers creating an xml configuration file for spring ioc, linking jar file, configuring object properties, using spring container, and demonstrates inversion of control using spring framework and android, showcasing the benefits of xml-based configuration.', 'chapters': [{'end': 1995.557, 'start': 1866.254, 'title': 'Implementing inversion of control with spring framework', 'summary': 'Discusses the implementation of inversion of control in the spring framework, outlining three key steps: adding jar files for spring code, configuring java objects in an xml file, and using the spring ioc container.', 'duration': 129.303, 'highlights': ['To implement inversion of control, the first step is to add jar files for Spring code, followed by configuring Java objects in an XML file, and finally using the Spring IOC container such as bean factory or application context to construct the objects.', 'The chapter emphasizes the three essential steps for implementing inversion of control in the Spring framework: adding jar files for Spring code, configuring Java objects in an XML file, and utilizing the Spring IOC container, such as bean factory or application context.', 'Configuring the project build path with the spring code jar file is a critical initial step in implementing inversion of control, ensuring that the necessary dependencies are linked to the project structure.']}, {'end': 2442.767, 'start': 1995.577, 'title': 'Spring ioc and xml configuration', 'summary': 'Covers creating an xml configuration file for spring ioc, linking jar file, configuring object properties, using spring container, and demonstrates inversion of control using spring framework and android, showcasing the benefits of xml-based configuration.', 'duration': 447.19, 'highlights': ['The chapter covers creating an XML configuration file for Spring IOC, linking jar file, configuring object properties, using Spring container, and demonstrates inversion of control using Spring Framework and Android. This encompasses the main topics of the chapter, providing an overview of the key concepts and technologies discussed.', 'Demonstrates the benefits of XML-based configuration. It emphasizes the advantages of using XML-based configuration for modifying configurations without affecting the source code.', 'Configuring object properties in the XML file, such as ID, class, and attributes like EID, ename, and esalary, and their respective values. Provides specific details on the XML file structure and the properties configured within it.', 'Using Spring container and the application context for managing and retrieving beans defined in the XML file. Demonstrates the usage of the Spring container and application context for managing and retrieving beans.', 'Showcases inversion of control in Spring Framework and Android through XML-based configuration, highlighting the separation of configuration from source code and the dynamic nature of XML configuration. Illustrates the concept of inversion of control in both Spring Framework and Android, emphasizing the dynamic and decoupled nature of XML configuration.']}], 'duration': 576.513, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/210tVT2uPvI/pics/210tVT2uPvI1866254.jpg', 'highlights': ['The chapter emphasizes the three essential steps for implementing inversion of control in the Spring framework: adding jar files for Spring code, configuring Java objects in an XML file, and utilizing the Spring IOC container, such as bean factory or application context.', 'Configuring the project build path with the spring code jar file is a critical initial step in implementing inversion of control, ensuring that the necessary dependencies are linked to the project structure.', 'Demonstrates the benefits of XML-based configuration. It emphasizes the advantages of using XML-based configuration for modifying configurations without affecting the source code.', 'Configuring object properties in the XML file, such as ID, class, and attributes like EID, ename, and esalary, and their respective values. Provides specific details on the XML file structure and the properties configured within it.', 'Using Spring container and the application context for managing and retrieving beans defined in the XML file. Demonstrates the usage of the Spring container and application context for managing and retrieving beans.', 'Showcases inversion of control in Spring Framework and Android through XML-based configuration, highlighting the separation of configuration from source code and the dynamic nature of XML configuration. Illustrates the concept of inversion of control in both Spring Framework and Android, emphasizing the dynamic and decoupled nature of XML configuration.', 'To implement inversion of control, the first step is to add jar files for Spring code, followed by configuring Java objects in an XML file, and finally using the Spring IOC container such as bean factory or application context to construct the objects.', 'The chapter covers creating an XML configuration file for Spring IOC, linking jar file, configuring object properties, using Spring container, and demonstrates inversion of control using Spring Framework and Android. This encompasses the main topics of the chapter, providing an overview of the key concepts and technologies discussed.']}], 'highlights': ['Spring Framework emphasizes simplicity, easy code writing, and configuration, focusing on business objects like POJOs and interfaces.', 'Spring Framework is an open source, modular framework with comprehensive tools and lightweight memory usage, suitable for enterprise application development.', 'The Spring Framework ecosystem comprises web layer, common layer, service layer, and data layer, with modules available for interaction, forming the entire ecosystem of the framework.', 'The architectural part of the Spring Framework includes a layered architecture with a base layer for testing, focusing on the JUnit part, and a core container consisting of beans, core context, and Spring Expression Language, which forms the core part of the framework.', 'The Spring Framework contains around 20 modules, grouped based on features, including core container, data access or integration, web layer, AOP aspects, instrumentation, and testing layers.', "The Spring framework is called a 'framework of frameworks' due to its support for various components and frameworks like JUnit and TestNG.", 'The Spring IOC container, using Java POJO classes and configuration metadata, produces a fully configured and executable system or application, making the application ready to use.', 'Dependency injection in the Spring Framework removes dependencies from the code, making the application easy to use and managed, and the programming code becomes loosely coupled.', 'AOP in Spring Framework implements cross-cutting concerns, such as tracking user behavior for promotional offers on e-commerce platforms like Amazon.', 'Aspect-oriented programming in Spring Framework addresses cross-cutting concerns, providing modularity and breaking the program into distinct parts called concerns.', 'The chapter emphasizes the three essential steps for implementing inversion of control in the Spring framework: adding jar files for Spring code, configuring Java objects in an XML file, and utilizing the Spring IOC container, such as bean factory or application context.', 'Configuring the project build path with the spring code jar file is a critical initial step in implementing inversion of control, ensuring that the necessary dependencies are linked to the project structure.', 'Demonstrates the benefits of XML-based configuration. It emphasizes the advantages of using XML-based configuration for modifying configurations without affecting the source code.', 'Configuring object properties in the XML file, such as ID, class, and attributes like EID, ename, and esalary, and their respective values. Provides specific details on the XML file structure and the properties configured within it.', 'Using Spring container and the application context for managing and retrieving beans defined in the XML file. Demonstrates the usage of the Spring container and application context for managing and retrieving beans.', 'Showcases inversion of control in Spring Framework and Android through XML-based configuration, highlighting the separation of configuration from source code and the dynamic nature of XML configuration.']}