title
Spring Full Course - Learn Spring Framework in 4 Hours | Spring Framework Tutorial | Edureka

description
🔥 Spring Framework Certification Training (Use Code "𝐘𝐎𝐔𝐓𝐔𝐁𝐄𝟐𝟎"): https://www.edureka.co/spring-certification-course This Edureka Spring Full Course video will help you learn Spring Framework from scratch with examples. This Spring Tutorial is ideal for both beginners as well as professionals who want to master the Spring Framework. Below are the topics covered in this Spring Framework Tutorial for Beginners video: 00:00 Introduction 1:53 What is Spring Framework? 2:30 Java Frameworks 6:57 Spring Framework 10:35 Why Spring Framework? 15:55 Spring Framework Ecosystem 16:35 Spring Framework Architecture 18:13 Spring Modules 21:49 Spring Framework Features 21:55 IoC 24:27 Dependency Injection 25:21 AOP 27:25 MVC 41:55 Spring Tutorial 42:44 Why Java Frameworks? 43:14 Java Frameworks 49:51 Spring Framework 52:17 Why Spring Framework? 56:09 Spring Framework Modules 1:21:13 IoC Container 1:23:16 Bean 1:28:05 Dependency Injection 1:39:04 Aspect-Oriented Programming 1:39:44 Spring AOP Overview 1:40:29 Why AOP? 1:42:00 AOP Core Concepts 1:42:59 AOP Implementation 1:53:23 Types of AOP Advice 1:58:11 Spring AOP AspectJ Annotation 2:02:16 Dependency Injection in Spring 2:03:16 What is Dependency Injection? 2:06:23 Inversion of Control 2:09:06 Types of DI 2:10:32 Benefits of DI 2:13:59 DI Implementation 2:29:59 Spring MVC Tutorial 2:30:57 What is Spring MVC? 2:32:13 Spring MVC Framework 2:33:46 Workflow of MVC 2:35:06 MVC Example 2:35:31 Hands-On 2:46:46 Advantages of Spring MVC Framework 2:47:40 Spring Framework Interview Questions --------------------------------------------------------------------------- Edureka Community: https://bit.ly/EdurekaCommunity Instagram: https://www.instagram.com/edureka_learning/ Facebook: https://www.facebook.com/edurekaIN/ Twitter: https://twitter.com/edurekain LinkedIn: https://www.linkedin.com/company/edureka Castbox: https://castbox.fm/networks/505?country=in SlideShare: https://www.slideshare.net/EdurekaIN #Edureka #SpringEdureka #SpringFullCourse #SpringFramework #SpringFrameworkTutorial #SpringOnlineTraining #SpringFrameworkforbeginners #SpringTutorial --------------------------------------------------------------------------- How does it work? 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. For more information, please write back to us at sales@edureka.co or call us at IND: 9606058406 / US: 18338555775 (toll-free).

detail
{'title': 'Spring Full Course - Learn Spring Framework in 4 Hours | Spring Framework Tutorial | Edureka', 'heatmap': [{'end': 1972.216, 'start': 1833.779, 'weight': 1}], 'summary': "Tutorial, 'spring full course - learn spring framework in 4 hours' provides a comprehensive overview of the spring framework, covering its popularity, architecture, implementation concepts, advantages, dependency injection principles, and essential components. it emphasizes the reduction of code complexity and optimization, with a 40% reduction in development time, and highlights the market dominance and job opportunities in the spring framework.", 'chapters': [{'end': 906.603, 'segs': [{'end': 209.282, 'src': 'embed', 'start': 181.384, 'weight': 3, 'content': [{'end': 184.786, 'text': 'So these libraries are nothing but they are the frameworks or they are the APIs right.', 'start': 181.384, 'duration': 3.402}, {'end': 189.67, 'text': "So as a developer you shouldn't be bothered about you know writing a lot of code.", 'start': 184.827, 'duration': 4.843}, {'end': 192.092, 'text': 'So as of now you can see right so so much of code.', 'start': 189.71, 'duration': 2.382}, {'end': 194.994, 'text': 'So as a developer we are pretty much a tens about it.', 'start': 192.112, 'duration': 2.882}, {'end': 198.176, 'text': 'So need something that is fast and efficient.', 'start': 195.014, 'duration': 3.162}, {'end': 204.799, 'text': "Now that's where we're gonna talk of Java frameworks or we're gonna talk of the APIs.", 'start': 198.696, 'duration': 6.103}, {'end': 209.282, 'text': "that's like application programming interfaces which we need to put into our programs.", 'start': 204.799, 'duration': 4.483}], 'summary': 'Java frameworks and apis aim to reduce code and enhance efficiency for developers.', 'duration': 27.898, 'max_score': 181.384, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc181384.jpg'}, {'end': 262.663, 'src': 'embed', 'start': 241.307, 'weight': 7, 'content': [{'end': 251.655, 'text': 'So I can use the predefined libraries Right, so like itext or like PDF, you know, available libraries, and I can do my task very easily.', 'start': 241.307, 'duration': 10.348}, {'end': 258.86, 'text': 'So the problem is solved, right, whenever you start using the frameworks or when you start using the predefined code snippets in your programs.', 'start': 252.155, 'duration': 6.705}, {'end': 262.663, 'text': "Now, what's the key benefit of having all these things right?", 'start': 259.62, 'duration': 3.043}], 'summary': 'Using predefined libraries like itext or pdf can simplify tasks.', 'duration': 21.356, 'max_score': 241.307, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc241307.jpg'}, {'end': 822.816, 'src': 'embed', 'start': 795.231, 'weight': 0, 'content': [{'end': 802.252, 'text': 'and we can anytime at runtime set the bike to either be Honda or Bajaj or Yamaha.', 'start': 795.231, 'duration': 7.021}, {'end': 813.294, 'text': 'So runtime polymorphic concept over here is implemented in a very beautiful way and it ultimately takes us to something known as loosely coupled environment.', 'start': 802.552, 'duration': 10.742}, {'end': 818.795, 'text': "So let's try to discuss this as one example that how loosely coupled concept comes into action.", 'start': 813.354, 'duration': 5.441}, {'end': 822.816, 'text': "Let's say I got one class as in rider.", 'start': 819.255, 'duration': 3.561}], 'summary': 'Runtime polymorphism implemented for honda, bajaj, and yamaha, leading to a loosely coupled environment.', 'duration': 27.585, 'max_score': 795.231, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc795231.jpg'}, {'end': 912.266, 'src': 'embed', 'start': 884.549, 'weight': 1, 'content': [{'end': 887.791, 'text': 'Now I need to reduce it in order to reduce it.', 'start': 884.549, 'duration': 3.242}, {'end': 896.517, 'text': 'What I will do I will just come down and I will create one function like set by and I will write the reference over here in this fashion.', 'start': 888.071, 'duration': 8.446}, {'end': 898.598, 'text': "Right So I'm going to say this not be assigned.", 'start': 896.557, 'duration': 2.041}, {'end': 902.581, 'text': "So it means that now you don't do the concept out here.", 'start': 898.979, 'duration': 3.602}, {'end': 906.603, 'text': 'So rather than you You create the object over here in the main.', 'start': 902.801, 'duration': 3.802}, {'end': 912.266, 'text': 'Now the construction of bike object is not dependent on the constructor of the rider.', 'start': 907.163, 'duration': 5.103}], 'summary': 'Create a function to reduce dependency between bike and rider objects.', 'duration': 27.717, 'max_score': 884.549, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc884549.jpg'}], 'start': 7.039, 'title': 'Spring framework overview', 'summary': 'Provides an overview of the spring framework, highlighting its popularity, key modules, and the benefits of using java frameworks, emphasizing its relevance in enterprise application development, open source and lightweight features, and its widespread industry adoption.', 'chapters': [{'end': 465.249, 'start': 7.039, 'title': 'Overview of spring framework', 'summary': 'Provides an overview of the spring framework, highlighting its popularity, key modules, and the benefits of using java frameworks. it also discusses the principle of inversion of control and the importance of spring framework in enterprise java application development.', 'duration': 458.21, 'highlights': ['Spring Framework is a powerful, lightweight application development framework and one of the most popular Java-based frameworks for enterprise Java application development. The Spring Framework is described as a powerful, lightweight application development framework and is highlighted as one of the most popular Java-based frameworks used for enterprise Java application development.', 'The Spring Framework full course consists of six modules covering general introduction, architecture, aspect-oriented programming, dependency injection, Spring MVC, and interview questions. The Spring Framework full course is outlined to include six modules covering general introduction, architecture, aspect-oriented programming, dependency injection, Spring MVC, and interview questions.', 'Java frameworks, such as Spring, provide predefined APIs and libraries to enhance project efficiency and meet deadlines. The use of Java frameworks, like Spring, is emphasized as a means to provide predefined APIs and libraries to enhance project efficiency and meet deadlines.', 'The principle of inversion of control, particularly through dependency injection, is a key focus in the Spring Framework, where the framework creates and configures objects. The principle of inversion of control, specifically through dependency injection, is highlighted as a key focus in the Spring Framework, where the framework creates and configures objects.', 'Spring Framework, introduced by Rod Johnson, has evolved into the widely used version 4.3, providing open-source documentation and APIs since January 2003. The evolution of Spring Framework, introduced by Rod Johnson, into the widely used version 4.3, and its availability as an open-source project with documentation and APIs since January 2003, is emphasized.']}, {'end': 906.603, 'start': 465.569, 'title': 'Spring framework: overview and features', 'summary': 'Provides an overview of the spring framework, highlighting its relevance in enterprise application development, its key features such as being open source and lightweight, and its popularity and adoption in the industry, particularly in comparison to other frameworks, emphasizing its simplicity, testability, and loose coupling.', 'duration': 441.034, 'highlights': ['The Spring Framework is widely adopted and popular in the industry, particularly in comparison to other frameworks like Spring MVC. The Spring MVC framework is outshining all other frameworks in the market, indicating its industrial adoption and popularity.', 'The Spring Framework is open source, allowing access to the code for manipulation and use in enterprise applications. Being open source, the Spring Framework enables access to code for manipulation and use in enterprise domain-specific applications.', 'The Spring Framework emphasizes simplicity, testability, and loose coupling, making it easy to write and configure code, perform unit testing, and achieve a loosely coupled environment. The Spring Framework prioritizes simplicity in writing and configuring code, testability through integrated testing layers, and achieving loose coupling to promote a flexible and maintainable codebase.']}], 'duration': 899.564, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc7039.jpg', 'highlights': ['Spring Framework is a powerful, lightweight application development framework and one of the most popular Java-based frameworks for enterprise Java application development.', 'The Spring Framework full course consists of six modules covering general introduction, architecture, aspect-oriented programming, dependency injection, Spring MVC, and interview questions.', 'Java frameworks, such as Spring, provide predefined APIs and libraries to enhance project efficiency and meet deadlines.', 'The principle of inversion of control, particularly through dependency injection, is a key focus in the Spring Framework, where the framework creates and configures objects.', 'Spring Framework, introduced by Rod Johnson, has evolved into the widely used version 4.3, providing open-source documentation and APIs since January 2003.', 'The Spring Framework is widely adopted and popular in the industry, particularly in comparison to other frameworks like Spring MVC.', 'The Spring Framework is open source, allowing access to the code for manipulation and use in enterprise applications.', 'The Spring Framework emphasizes simplicity, testability, and loose coupling, making it easy to write and configure code, perform unit testing, and achieve a loosely coupled environment.']}, {'end': 1560.552, 'segs': [{'end': 933.324, 'src': 'embed', 'start': 907.163, 'weight': 6, 'content': [{'end': 912.266, 'text': 'Now the construction of bike object is not dependent on the constructor of the rider.', 'start': 907.163, 'duration': 5.103}, {'end': 914.427, 'text': "So that's one key concern over here.", 'start': 912.666, 'duration': 1.761}, {'end': 921.03, 'text': 'So what I will do, I will just say r dot set the bike to be b.', 'start': 914.707, 'duration': 6.323}, {'end': 925.832, 'text': 'So this is where we are trying to reduce coupling.', 'start': 921.03, 'duration': 4.802}, {'end': 928.293, 'text': 'And I will say that it is low coupling.', 'start': 926.012, 'duration': 2.281}, {'end': 933.324, 'text': 'So guys, this is where we will be reducing the coupling.', 'start': 929.383, 'duration': 3.941}], 'summary': 'Reduced coupling between bike and rider objects, achieving low coupling.', 'duration': 26.161, 'max_score': 907.163, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc907163.jpg'}, {'end': 1235.618, 'src': 'embed', 'start': 1205.301, 'weight': 0, 'content': [{'end': 1207.842, 'text': "So if you have the data available in the database, let's talk about.", 'start': 1205.301, 'duration': 2.541}, {'end': 1209.402, 'text': 'we got an Oracle as a database right?', 'start': 1207.842, 'duration': 1.56}, {'end': 1214.643, 'text': 'And we need to interact with the Oracle and we can do so very easily with the spring framework.', 'start': 1209.422, 'duration': 5.221}, {'end': 1216.264, 'text': 'So we got a JDBC layer.', 'start': 1214.964, 'duration': 1.3}, {'end': 1220.067, 'text': "We got ORM layer, so that's like these are all integration layers.", 'start': 1216.784, 'duration': 3.283}, {'end': 1223.749, 'text': 'So ORM is like object relationship mapping, for example, the Hibernate.', 'start': 1220.107, 'duration': 3.642}, {'end': 1225.791, 'text': 'So we got these integration layers which we can use.', 'start': 1223.769, 'duration': 2.022}, {'end': 1229.554, 'text': 'Then we got basically an object to XML mappings available.', 'start': 1226.151, 'duration': 3.403}, {'end': 1231.956, 'text': 'Then Java messaging services are available.', 'start': 1229.854, 'duration': 2.102}, {'end': 1235.618, 'text': 'Then transaction management is also available right?', 'start': 1231.976, 'duration': 3.642}], 'summary': 'Using spring framework to interact with oracle database, providing jdbc layer, orm layer, object to xml mappings, java messaging services, and transaction management.', 'duration': 30.317, 'max_score': 1205.301, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc1205301.jpg'}, {'end': 1403.148, 'src': 'embed', 'start': 1371.51, 'weight': 4, 'content': [{'end': 1372.731, 'text': 'In Spring Framework what we do.', 'start': 1371.51, 'duration': 1.221}, {'end': 1375.933, 'text': 'we configure them and thereafter.', 'start': 1372.731, 'duration': 3.202}, {'end': 1382.436, 'text': 'so whole management of the life cycle of the objects is taken care by the Spring Framework itself.', 'start': 1375.933, 'duration': 6.503}, {'end': 1383.957, 'text': "So we don't worry on that part.", 'start': 1382.496, 'duration': 1.461}, {'end': 1388.599, 'text': "So guys, we'll try to code this flow and understand how this flow will exactly work.", 'start': 1383.977, 'duration': 4.622}, {'end': 1389.76, 'text': 'All right.', 'start': 1389.019, 'duration': 0.741}, {'end': 1393.442, 'text': 'so what in all, are the other concerns related with the IOC container?', 'start': 1389.76, 'duration': 3.682}, {'end': 1398.845, 'text': 'So, guys, the Spring IOC container, by using the Java POJO classes and configuration metadata,', 'start': 1393.462, 'duration': 5.383}, {'end': 1403.148, 'text': 'produces a fully configured and an executable system or an application right?', 'start': 1398.845, 'duration': 4.303}], 'summary': 'Spring framework manages object life cycle, ioc container configures pojo classes and metadata to create an executable system.', 'duration': 31.638, 'max_score': 1371.51, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc1371510.jpg'}, {'end': 1434.813, 'src': 'embed', 'start': 1413.034, 'weight': 7, 'content': [{'end': 1422.102, 'text': 'you give it to the Spring framework or the spring container and it will automatically give us the objects which we can use directly in our application.', 'start': 1413.034, 'duration': 9.068}, {'end': 1424.484, 'text': 'Or you can say we got a ready to use application itself.', 'start': 1422.142, 'duration': 2.342}, {'end': 1428.468, 'text': "So let's see what exactly are the IOC containers.", 'start': 1425.025, 'duration': 3.443}, {'end': 1434.813, 'text': 'So we got two, different APIs which are the IOC containers in the Spring Framework.', 'start': 1428.488, 'duration': 6.325}], 'summary': 'Spring framework provides ioc containers to automatically give objects for use in applications.', 'duration': 21.779, 'max_score': 1413.034, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc1413034.jpg'}, {'end': 1496.977, 'src': 'embed', 'start': 1454.885, 'weight': 1, 'content': [{'end': 1459.667, 'text': 'So we can also do by constructing, by writing the annotations in our POJO classes itself.', 'start': 1454.885, 'duration': 4.782}, {'end': 1462.428, 'text': 'If you wanna skip XML, you can come up with the annotation model.', 'start': 1459.747, 'duration': 2.681}, {'end': 1463.989, 'text': 'So that is also supported.', 'start': 1462.808, 'duration': 1.181}, {'end': 1468.832, 'text': 'Now after the inversion of control, we got dependency injection.', 'start': 1464.709, 'duration': 4.123}, {'end': 1473.854, 'text': 'Now, dependency injection is all about when we have dependency in our code right?', 'start': 1469.032, 'duration': 4.822}, {'end': 1480.538, 'text': 'So Spring Framework has this DI technique where we can remove the dependency from our code right?', 'start': 1474.375, 'duration': 6.163}, {'end': 1490.747, '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': 1480.838, 'duration': 9.909}, {'end': 1496.977, 'text': "So that's the key important point which we need to take care even when we are writing the code examples.", 'start': 1490.767, 'duration': 6.21}], 'summary': 'Spring framework enables dependency injection, making code easy to manage and loosely coupled.', 'duration': 42.092, 'max_score': 1454.885, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc1454885.jpg'}], 'start': 907.163, 'title': 'Spring framework architecture and overview', 'summary': 'Explains the layered structure, core components, data access modules, and web-oriented features of the spring framework, highlighting the reduction of coupling and availability of various modules, while also covering inversion of control, dependency injection, and aspect oriented programming, with an emphasis on the use of java pojo classes and configuration metadata, making the application easy to manage and loosely coupled.', 'chapters': [{'end': 1306.296, 'start': 907.163, 'title': 'Spring framework architecture', 'summary': 'Explains the architecture of the spring framework, highlighting its layered structure, core components, data access modules, and web-oriented features, while emphasizing the focus on reducing coupling and the availability of various modules.', 'duration': 399.133, 'highlights': ['The Spring Framework ecosystem comprises web layer, common layer, service layer, and data layer, aimed at reducing coupling and promoting loose coupling with runtime polymorphism. The Spring Framework ecosystem includes web layer, common layer, service layer, and data layer, promoting loose coupling with runtime polymorphism.', 'The architectural part of the Spring framework is a layered architecture with a focus on the testing layer, core container, AOP, data access integration layer, and web container. The architectural part of the Spring framework is a layered architecture emphasizing the testing layer, core container, AOP, data access integration layer, and web container.', 'The core container of the Spring Framework includes beans, core context, and Spring expression language, forming the fundamental parts of the framework. The core container of the Spring Framework includes beans, core context, and Spring expression language, forming the fundamental parts of the framework.', 'The data access modules of the Spring framework provide integration layers for accessing databases, including ORM, object to XML mapping, Java messaging services, and transaction management. The data access modules of the Spring framework provide integration layers for accessing databases, including ORM, object to XML mapping, Java messaging services, and transaction management.', 'The web layer of the Spring Framework is focused on model view controller based web applications, industrial usage of web MVC module, and web-oriented features like portlets and web sockets. The web layer of the Spring Framework is focused on model view controller based web applications, industrial usage of web MVC module, and web-oriented features like portlets and web sockets.']}, {'end': 1560.552, 'start': 1306.717, 'title': 'Spring framework overview', 'summary': 'Explains the spring framework, highlighting the concept of inversion of control (ioc), dependency injection, and aspect oriented programming (aop), emphasizing that spring ioc container uses java pojo classes and configuration metadata to produce a fully configured and an executable system or application, and that dependency injection makes the application easy to manage and the programming code becomes loosely coupled, with emphasis on the techniques used for dependency injection and an introduction to aspect oriented programming.', 'duration': 253.835, 'highlights': ['Spring IOC container uses Java POJO classes and configuration metadata to produce a fully configured and an executable system or application The Spring IOC container, by using the Java POJO classes and configuration metadata, produces a fully configured and an executable system or an application.', 'Dependency injection makes the application easy to manage and the programming code becomes loosely coupled Dependency injection is all about removing the dependency from our code, making the application quite easy and managed to use, and making the programming code loosely coupled.', 'Spring Framework has DI techniques resolved by constructor and by setter method In the spring framework, dependency injection is resolved by constructor and by setter method, using constructor arg and property as key tags.', 'Introduction to aspect oriented programming (AOP) for implementing cross-cutting concerns Aspect oriented programming is used to implement cross-cutting concerns, such as tracking user activity on a website, like recording the time spent browsing specific products on an e-commerce site.']}], 'duration': 653.389, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc907163.jpg', 'highlights': ['The Spring Framework ecosystem comprises web layer, common layer, service layer, and data layer, promoting loose coupling with runtime polymorphism.', 'The core container of the Spring Framework includes beans, core context, and Spring expression language, forming the fundamental parts of the framework.', 'The data access modules of the Spring framework provide integration layers for accessing databases, including ORM, object to XML mapping, Java messaging services, and transaction management.', 'The web layer of the Spring Framework is focused on model view controller based web applications, industrial usage of web MVC module, and web-oriented features like portlets and web sockets.', 'Spring IOC container uses Java POJO classes and configuration metadata to produce a fully configured and an executable system or application.', 'Dependency injection makes the application easy to manage and the programming code becomes loosely coupled.', 'Introduction to aspect oriented programming (AOP) for implementing cross-cutting concerns.', 'The architectural part of the Spring framework is a layered architecture emphasizing the testing layer, core container, AOP, data access integration layer, and web container.']}, {'end': 2496.214, 'segs': [{'end': 1610.782, 'src': 'embed', 'start': 1582.087, 'weight': 1, 'content': [{'end': 1584.208, 'text': 'so it gives us a lot of other things right.', 'start': 1582.087, 'duration': 2.121}, {'end': 1587.611, 'text': "so as in the number one, it's gonna provide the modularity.", 'start': 1584.208, 'duration': 3.403}, {'end': 1592.355, 'text': 'then aop will break the program into the distinct parts called concerns.', 'start': 1587.611, 'duration': 4.744}, {'end': 1597.018, 'text': 'it also increases the modularity right when we write these cross-cutting concerns.', 'start': 1592.355, 'duration': 4.663}, {'end': 1603.061, 'text': 'and a cross-cutting concern is a concern which can affect the entire application right?', 'start': 1597.018, 'duration': 6.043}, {'end': 1606.802, 'text': 'For example, security is one of the major cross-cutting concerns right?', 'start': 1603.101, 'duration': 3.701}, {'end': 1610.782, 'text': 'So we must be implementing them in a proper and in a regular way.', 'start': 1607.382, 'duration': 3.4}], 'summary': 'Aop provides modularity, breaks program into distinct concerns, and helps implement cross-cutting concerns like security in a regular manner.', 'duration': 28.695, 'max_score': 1582.087, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc1582087.jpg'}, {'end': 1993.649, 'src': 'heatmap', 'start': 1833.779, 'weight': 0, 'content': [{'end': 1841.041, 'text': 'And thereafter I need to define constructors, getters and setters to come up with the POJO structure right?', 'start': 1833.779, 'duration': 7.262}, {'end': 1846.643, 'text': "So let's say right click source, generate constructor using fields.", 'start': 1841.502, 'duration': 5.141}, {'end': 1850.164, 'text': 'So this is one constructor along with all the fields.', 'start': 1847.243, 'duration': 2.921}, {'end': 1856.155, 'text': "So I'm also going to construct one constructor as in a default one.", 'start': 1852.153, 'duration': 4.002}, {'end': 1859.998, 'text': "So let's try to write one default constructor.", 'start': 1856.496, 'duration': 3.502}, {'end': 1863.52, 'text': 'I got one constructor with all the inputs.', 'start': 1860.178, 'duration': 3.342}, {'end': 1867.562, 'text': "And lastly I'm gonna do it as generate getters and setters.", 'start': 1863.96, 'duration': 3.602}, {'end': 1869.123, 'text': "Let's select all.", 'start': 1868.323, 'duration': 0.8}, {'end': 1871.525, 'text': 'So here we are with the getters and setters.', 'start': 1869.704, 'duration': 1.821}, {'end': 1875.327, 'text': "And now I'm also gonna write one toString method.", 'start': 1871.865, 'duration': 3.462}, {'end': 1877.508, 'text': "So let's generate one toString method.", 'start': 1875.787, 'duration': 1.721}, {'end': 1886.342, 'text': 'So this is one structure which is representing POJO or model or bean, right?', 'start': 1877.989, 'duration': 8.353}, {'end': 1889.905, 'text': 'Call it as a POJO or a model or a bean structure, right?', 'start': 1886.582, 'duration': 3.323}, {'end': 1897.192, 'text': "So, once I am done with this, what I will do next is that I'll write one client class.", 'start': 1890.305, 'duration': 6.887}, {'end': 1902.501, 'text': "So I'm gonna write one class as inclined, along with the main map, right?", 'start': 1897.978, 'duration': 4.523}, {'end': 1903.902, 'text': 'So this is my main method.', 'start': 1902.521, 'duration': 1.381}, {'end': 1906.904, 'text': 'So what is the traditional way as a developer?', 'start': 1904.182, 'duration': 2.722}, {'end': 1908.365, 'text': 'how I will construct the objects right?', 'start': 1906.904, 'duration': 1.461}, {'end': 1912.628, 'text': 'So I will say employee, as in a new employee, right?', 'start': 1908.385, 'duration': 4.243}, {'end': 1920.703, 'text': "And thereafter I'll say e.set of eid as 101, e.set of eid as 1001..", 'start': 1913.148, 'duration': 7.555}, {'end': 1928.246, 'text': "employee name, as in, let's say, John Watson, and finally I will set a salary, let's say 30,000, right?", 'start': 1920.703, 'duration': 7.543}, {'end': 1931.547, 'text': 'So this is the traditional way how you will construct an object.', 'start': 1928.706, 'duration': 2.841}, {'end': 1935.689, 'text': 'So other than that, all right, so I think I did something wrong.', 'start': 1931.927, 'duration': 3.762}, {'end': 1942.191, 'text': 'All right, so I have taken the salary as in string, so guys, let me change it to the integer part.', 'start': 1936.249, 'duration': 5.942}, {'end': 1943.752, 'text': 'Just a moment.', 'start': 1943.132, 'duration': 0.62}, {'end': 1946.457, 'text': 'So here we are, done.', 'start': 1944.736, 'duration': 1.721}, {'end': 1951.761, 'text': 'Now I will just say CISO and I will try to print the E.', 'start': 1947.198, 'duration': 4.563}, {'end': 1958.366, 'text': 'So what I will get as in response, I will be getting the response as in the details of the employee.', 'start': 1951.761, 'duration': 6.605}, {'end': 1964.01, 'text': 'Now this is my traditional way how we construct the objects in Java.', 'start': 1958.726, 'duration': 5.284}, {'end': 1972.216, 'text': "Let's try to follow the spring framework and let's see how we can come up with inversion of control right?", 'start': 1964.531, 'duration': 7.685}, {'end': 1977.479, 'text': 'something known as inversion of control right?', 'start': 1973.536, 'duration': 3.943}, {'end': 1980, 'text': 'So IOC, as in Spring Framework.', 'start': 1977.519, 'duration': 2.481}, {'end': 1981.221, 'text': "So, let's see how we can do that.", 'start': 1980.06, 'duration': 1.161}, {'end': 1984.283, 'text': "To do that, I'll follow certain steps.", 'start': 1982.062, 'duration': 2.221}, {'end': 1991.068, 'text': 'The step number one will be to add jar files for core.', 'start': 1984.563, 'duration': 6.505}, {'end': 1993.649, 'text': "I'll just say for Spring Core right?", 'start': 1991.068, 'duration': 2.581}], 'summary': 'The transcript covers creating pojo structure, defining constructors, getters and setters, and traditional object construction in java.', 'duration': 57.4, 'max_score': 1833.779, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc1833779.jpg'}], 'start': 1560.552, 'title': 'Implementing spring framework concepts', 'summary': 'Discusses aspect-oriented programming, mvc design pattern, and inversion of control in spring framework, emphasizing modularity, code minimization, and application in android development.', 'chapters': [{'end': 1642.303, 'start': 1560.552, 'title': 'Implementing cross-cutting concerns in spring framework', 'summary': 'Discusses the use of aspect-oriented programming in the spring framework to implement cross-cutting concerns, which can improve modularity and ensure proper implementation of concerns like security across different modules and stages of an application development.', 'duration': 81.751, 'highlights': ['Aspect-oriented programming (AOP) in Spring framework provides modularity and breaks the program into distinct parts called concerns, increasing modularity when writing cross-cutting concerns.', 'Cross-cutting concerns, such as security, can affect the entire application and need to be implemented across different modules and stages to ensure regular and proper implementation.', 'Implementing cross-cutting concerns, like security, in every module and stage of an application development is essential to ensure their proper and regular implementation.']}, {'end': 1964.01, 'start': 1643.044, 'title': 'Understanding model view controller in spring framework', 'summary': 'Discusses the model view controller (mvc) design pattern in spring framework, highlighting the flow of user requests, data processing, and the benefits of using spring mvc to minimize code and focus on business logic.', 'duration': 320.966, 'highlights': ['Spring MVC as a framework minimizes code and focuses on business logic Spring MVC provides the advantage of writing minimal code and focusing on business logic, with the framework taking care of other aspects.', 'Flow of user requests from view to controller for data processing User requests are sent from the view to the controller, where the data processing takes place before sending it back to the view as a response.', 'Discussing the structure of a POJO class and traditional object construction in Java The discussion covers the structure of a POJO class, including attributes, constructors, getters, setters, and the traditional way of constructing objects in Java.']}, {'end': 2496.214, 'start': 1964.531, 'title': 'Implementing inversion of control in spring', 'summary': 'Discusses implementing inversion of control in spring framework, covering the steps to add jar files for spring core, configure java objects in an xml file, and use the spring ioc container, demonstrating the concept of inversion of control and its application in android development.', 'duration': 531.683, 'highlights': ['Demonstrating the steps to implement inversion of control in Spring framework The speaker explains the process of adding jar files for Spring Core, configuring Java objects in an XML file, and using the Spring IOC container to demonstrate the concept of inversion of control.', "Explaining the structure of the XML configuration file for Java objects The XML configuration file consists of a root tag 'beans' containing 'bean' tags with properties like ID, class, and attributes, demonstrating the key-value pair configuration for Java objects.", 'Describing the usage of the Spring IOC container in the client class and its relevance in Android development The speaker demonstrates the use of the Spring IOC container in the client class and highlights the relevance of inversion of control in Android development, emphasizing the flexibility of XML configuration and its impact on source code.']}], 'duration': 935.662, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc1560552.jpg', 'highlights': ['Aspect-oriented programming (AOP) in Spring framework provides modularity and breaks the program into distinct parts called concerns, increasing modularity when writing cross-cutting concerns.', 'Spring MVC as a framework minimizes code and focuses on business logic Spring MVC provides the advantage of writing minimal code and focusing on business logic, with the framework taking care of other aspects.', 'Demonstrating the steps to implement inversion of control in Spring framework The speaker explains the process of adding jar files for Spring Core, configuring Java objects in an XML file, and using the Spring IOC container to demonstrate the concept of inversion of control.']}, {'end': 3605.122, 'segs': [{'end': 2527.201, 'src': 'embed', 'start': 2496.455, 'weight': 1, 'content': [{'end': 2502.337, 'text': "So it's a very much similar story as in we are trying to say context dot get bean.", 'start': 2496.455, 'duration': 5.882}, {'end': 2504.859, 'text': 'Right So the API standards are different.', 'start': 2502.717, 'duration': 2.142}, {'end': 2509.183, 'text': 'So guys, this is what we got as in spring IOC.', 'start': 2505.22, 'duration': 3.963}, {'end': 2513.428, 'text': 'Right And the introduction to the spring framework.', 'start': 2510.024, 'duration': 3.404}, {'end': 2521.736, 'text': "We're going to represent the spring framework tutorial now.", 'start': 2518.973, 'duration': 2.763}, {'end': 2523.337, 'text': 'So hope you will enjoy it.', 'start': 2522.036, 'duration': 1.301}, {'end': 2527.201, 'text': "So let's see what it all we have in our spring framework tutorial today.", 'start': 2523.437, 'duration': 3.764}], 'summary': 'Introduction to spring framework tutorial with varying api standards.', 'duration': 30.746, 'max_score': 2496.455, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc2496455.jpg'}, {'end': 2798.318, 'src': 'embed', 'start': 2771.691, 'weight': 0, 'content': [{'end': 2775.334, 'text': 'so many times that will not be exposed to the developer right?', 'start': 2771.691, 'duration': 3.643}, {'end': 2781.017, 'text': "So, specifically in case it's a web service, you might not know what is the internals of that API.", 'start': 2775.354, 'duration': 5.663}, {'end': 2785.12, 'text': "So that's what the encapsulation is all about right and here you face a challenge again.", 'start': 2781.037, 'duration': 4.083}, {'end': 2791.753, 'text': 'So we got various Java frameworks available now, right? There are a lot of frameworks available.', 'start': 2786.269, 'duration': 5.484}, {'end': 2793.755, 'text': "So frameworks is nothing, it's a set of APIs.", 'start': 2791.773, 'duration': 1.982}, {'end': 2798.318, 'text': 'So you got JSF, Maven, Hibernate, Startsplay, Spring, et cetera, et cetera, et cetera.', 'start': 2794.115, 'duration': 4.203}], 'summary': 'Encapsulation in web services: various java frameworks like jsf, maven, hibernate, startsplay, spring, etc., are available.', 'duration': 26.627, 'max_score': 2771.691, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc2771691.jpg'}, {'end': 3514.941, 'src': 'embed', 'start': 3485.731, 'weight': 5, 'content': [{'end': 3488.933, 'text': "So it's like a container which is going to generate the bean.", 'start': 3485.731, 'duration': 3.202}, {'end': 3491.174, 'text': "Bean is nothing, it's an object guys, right? So it's an object.", 'start': 3488.973, 'duration': 2.201}, {'end': 3493.554, 'text': 'we got the context.', 'start': 3491.994, 'duration': 1.56}, {'end': 3497.356, 'text': "it's a medium to access any objects defined and configured.", 'start': 3493.554, 'duration': 3.802}, {'end': 3499.996, 'text': 'then we got spring expression language.', 'start': 3497.356, 'duration': 2.64}, {'end': 3507.038, 'text': 'so spring expression language is one of the powerful expression language through which we can do a lot of stuff over here.', 'start': 3499.996, 'duration': 7.042}, {'end': 3509.099, 'text': 'then we got data access.', 'start': 3507.038, 'duration': 2.061}, {'end': 3514.941, 'text': 'so as data access deals with the back end part, the database part, we got jdbc.', 'start': 3509.099, 'duration': 5.842}], 'summary': 'Spring container generates bean objects, providing access to defined objects, and powerful expression language for data access, including jdbc.', 'duration': 29.21, 'max_score': 3485.731, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc3485731.jpg'}, {'end': 3605.122, 'src': 'embed', 'start': 3583.686, 'weight': 4, 'content': [{'end': 3592.513, 'text': "We also have some miscellaneous modules where AOP that's like aspect oriented programming which is fulfilled with the help of aspects.", 'start': 3583.686, 'duration': 8.827}, {'end': 3597.977, 'text': 'Then we got instrumentation support and how we can have class loader implementations.', 'start': 3593.153, 'duration': 4.824}, {'end': 3605.122, 'text': 'Then the messaging support is available and the testing support is also available if you want to perform the testing right.', 'start': 3598.597, 'duration': 6.525}], 'summary': 'Various modules including aop, instrumentation, messaging, and testing support are available.', 'duration': 21.436, 'max_score': 3583.686, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc3583686.jpg'}], 'start': 2496.455, 'title': 'Spring framework in java', 'summary': "Introduces the spring framework tutorial, emphasizing the need for frameworks in java, discussing the advantages and disadvantages of java frameworks, and explaining the concept of apis and encapsulation. it also discusses the efficiency of spring framework in reducing code complexity, optimizing code, and reducing overall development time by 40%, and provides an overview of its architecture including loose coupling, orm integration, layered structure, and core container's key concepts.", 'chapters': [{'end': 2793.755, 'start': 2496.455, 'title': 'Understanding java frameworks in spring', 'summary': 'Introduces the spring framework tutorial, emphasizing the need for frameworks in java, discussing the advantages and disadvantages of java frameworks, and explaining the concept of apis and encapsulation.', 'duration': 297.3, 'highlights': ['The chapter emphasizes the need for frameworks in Java, discussing the problems associated with enterprise edition of Java, including lookup problems and memory optimization issues.', 'The advantages of using Java frameworks are highlighted, including efficiency, security, cost-effectiveness, and support in the form of documentation and stack overflow threads.', 'The chapter also discusses the disadvantages of Java frameworks, including restrictions on modifying APIs, public exposure of code, and challenges in understanding the internals of custom build features.']}, {'end': 3329.699, 'start': 2794.115, 'title': 'Spring framework and its efficiency', 'summary': 'Discusses the urgent need for a rapid application development solution by a web development team using spring framework, highlighting its efficiency in reducing code complexity, optimizing code, and reducing overall development time by 40% compared to other frameworks.', 'duration': 535.584, 'highlights': ['Spring framework reduces overall application development time by 40% compared to other frameworks. The Spring framework is highlighted as being able to reduce the overall application development time by 40%, showcasing its efficiency in rapid development.', 'Spring framework provides a lightweight, layered architecture with loose coupling, making it efficient and optimized. The Spring framework is described as providing a lightweight, layered architecture with loose coupling, emphasizing its efficiency and optimization in code development.', 'Spring MVC architecture allows for flexible implementation through the use of interfaces, making the code efficient and optimized. The discussion on Spring MVC architecture emphasizes the flexibility in code implementation through the use of interfaces, contributing to efficient and optimized code development.', 'Spring framework offers better integration with various technologies, enhancing modularity and scalability. The Spring framework is highlighted for offering better integration with various technologies, contributing to enhanced modularity and scalability of the code.']}, {'end': 3605.122, 'start': 3329.719, 'title': 'Spring framework architecture', 'summary': "Provides an overview of the spring framework architecture, emphasizing its loose coupling, orm integration, layered structure, and core container's key concepts, including beans, context, and spring expression language.", 'duration': 275.403, 'highlights': ['The Spring framework emphasizes loose coupling and facilitates easy integration with ORM technologies such as Hibernate and Abatis. The Spring framework facilitates loose coupling and easy integration with ORM technologies like Hibernate and Abatis.', 'The architecture of the Spring framework is based on a layered structure, including the testing layer, core container, AOP layer, data access or integration layer, and web module. The Spring framework architecture is layered, comprising the testing layer, core container, AOP layer, data access or integration layer, and web module.', 'The core container of the Spring framework encompasses key concepts such as beans, context, and Spring Expression Language, along with modules for data access, messaging, transaction management, and web layer functionalities. The core container of the Spring framework includes key concepts like beans, context, and Spring Expression Language, along with modules for data access, messaging, transaction management, and web layer functionalities.']}], 'duration': 1108.667, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc2496455.jpg', 'highlights': ['Spring framework reduces overall application development time by 40% compared to other frameworks', 'Spring framework emphasizes loose coupling and facilitates easy integration with ORM technologies', 'Spring framework provides a lightweight, layered architecture with loose coupling, making it efficient and optimized', 'Spring framework offers better integration with various technologies, enhancing modularity and scalability', 'The advantages of using Java frameworks are highlighted, including efficiency, security, cost-effectiveness, and support', 'The chapter emphasizes the need for frameworks in Java, discussing the problems associated with enterprise edition of Java']}, {'end': 5891.715, 'segs': [{'end': 4515.06, 'src': 'embed', 'start': 4480.19, 'weight': 5, 'content': [{'end': 4489.958, 'text': 'So bean factory, factory is a new XML bean factory from the resource.', 'start': 4480.19, 'duration': 9.768}, {'end': 4496.162, 'text': 'Now this is known as the spring core container, right? So bean factory is nothing.', 'start': 4490.878, 'duration': 5.284}, {'end': 4496.763, 'text': "It's what?", 'start': 4496.343, 'duration': 0.42}, {'end': 4508.134, 'text': "It's a spring container which shall read or which shall parse XML file and construct the objects.", 'start': 4496.923, 'duration': 11.211}, {'end': 4510.336, 'text': "so we don't construct the objects now.", 'start': 4508.134, 'duration': 2.202}, {'end': 4515.06, 'text': 'so, if you can see so, this was, uh, the traditional way how we are writing the objects.', 'start': 4510.336, 'duration': 4.724}], 'summary': 'Bean factory is a spring core container parsing xml to construct objects.', 'duration': 34.87, 'max_score': 4480.19, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc4480190.jpg'}, {'end': 4762.975, 'src': 'embed', 'start': 4735.091, 'weight': 11, 'content': [{'end': 4739.194, 'text': 'The next spring container is known as application context.', 'start': 4735.091, 'duration': 4.103}, {'end': 4747.72, 'text': 'So application context over here is also one of the core container in the spring framework, which is used to do the inversion of control.', 'start': 4740.055, 'duration': 7.665}, {'end': 4751.083, 'text': "And it's basically an implementation of the bean factory.", 'start': 4748.241, 'duration': 2.842}, {'end': 4762.975, 'text': 'right. so you say a new class path, XML, application, context, and you mention your employee bean dot, XML over here.', 'start': 4752.008, 'duration': 10.967}], 'summary': 'Application context is a core container in the spring framework for inversion of control and bean management.', 'duration': 27.884, 'max_score': 4735.091, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc4735091.jpg'}, {'end': 4818.431, 'src': 'embed', 'start': 4785.624, 'weight': 0, 'content': [{'end': 4788.166, 'text': "So let's try to comment out these two guys.", 'start': 4785.624, 'duration': 2.542}, {'end': 4791.528, 'text': "Let's not use the bean factory.", 'start': 4788.846, 'duration': 2.682}, {'end': 4797.072, 'text': 'So the output is asset same, right? So either use bean factory or you use application context.', 'start': 4791.988, 'duration': 5.084}, {'end': 4803.544, 'text': 'Now try to comment out these instructions and rerun your code right.', 'start': 4797.132, 'duration': 6.412}, {'end': 4812.388, 'text': "what you find is that application context will create the objects for you, even though you don't request,", 'start': 4803.544, 'duration': 8.844}, {'end': 4818.431, 'text': 'but the bean factory will create the objects only when you are going to request for it.', 'start': 4812.388, 'duration': 6.043}], 'summary': 'Comparison of bean factory and application context in object creation.', 'duration': 32.807, 'max_score': 4785.624, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc4785624.jpg'}, {'end': 4912.672, 'src': 'embed', 'start': 4868.339, 'weight': 1, 'content': [{'end': 4872.121, 'text': 'So, guys, jar files need to be loaded and then you need to run your program right?', 'start': 4868.339, 'duration': 3.782}, {'end': 4874.902, 'text': 'So, IOC container.', 'start': 4872.521, 'duration': 2.381}, {'end': 4876.403, 'text': 'it has various features now.', 'start': 4874.902, 'duration': 1.501}, {'end': 4884.827, 'text': 'So construction of the objects, managing the entire life cycle of the object is not the headache of the developer now.', 'start': 4876.843, 'duration': 7.984}, {'end': 4888.248, 'text': "So it's again, spring, core, layer.", 'start': 4885.187, 'duration': 3.061}, {'end': 4891.85, 'text': 'So, just like the servlet container, you got the spring container right?', 'start': 4888.709, 'duration': 3.141}, {'end': 4895.232, 'text': 'So the way a servlet container manages the life cycle of a servlet in a similar way,', 'start': 4891.91, 'duration': 3.322}, {'end': 4901.279, 'text': 'spring container is going to manage the life cycle of your object, then wiring them together right.', 'start': 4895.772, 'duration': 5.507}, {'end': 4910.089, 'text': 'so there might be dependencies which we can link up, and configuration means the key value pair which you have already mentioned right.', 'start': 4901.279, 'duration': 8.81}, {'end': 4912.672, 'text': 'so you just need to configure your object in the xml file.', 'start': 4910.089, 'duration': 2.583}], 'summary': 'Ioc container in spring manages object life cycle and dependencies, simplifying developer tasks.', 'duration': 44.333, 'max_score': 4868.339, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc4868339.jpg'}, {'end': 5006.701, 'src': 'embed', 'start': 4982.617, 'weight': 3, 'content': [{'end': 4991.45, 'text': 'Whereas application context is built on top of bean factory and the container will add more enterprise specific functionalities right?', 'start': 4982.617, 'duration': 8.833}, {'end': 4996.217, 'text': 'So this is something which is more relevant to use, rather than the bean factory.', 'start': 4991.47, 'duration': 4.747}, {'end': 4998.074, 'text': 'All right.', 'start': 4997.153, 'duration': 0.921}, {'end': 4999.775, 'text': 'so what is a bean now?', 'start': 4998.074, 'duration': 1.701}, {'end': 5001.056, 'text': 'So, guys, bean is nothing.', 'start': 4999.915, 'duration': 1.141}, {'end': 5003.118, 'text': "it's a Java object, more or less right?", 'start': 5001.056, 'duration': 2.062}, {'end': 5006.701, 'text': 'So they are the objects which form the backbone of our application.', 'start': 5003.558, 'duration': 3.143}], 'summary': 'Application context builds on bean factory, adding enterprise functionalities. a bean is a java object that forms the backbone of the application.', 'duration': 24.084, 'max_score': 4982.617, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc4982617.jpg'}, {'end': 5056.143, 'src': 'embed', 'start': 5030.12, 'weight': 4, 'content': [{'end': 5041.849, 'text': 'The configuration metadata and the bean is given to the spring container so that we can get the constructed bean object.', 'start': 5030.12, 'duration': 11.729}, {'end': 5045.032, 'text': "So that's something which is in line to your bean object.", 'start': 5042.15, 'duration': 2.882}, {'end': 5052.418, 'text': "So what is happening over here? IOC container is gonna take the metadata and thereafter it's gonna give us the bean.", 'start': 5045.212, 'duration': 7.206}, {'end': 5055.242, 'text': "Let's understand the life cycle of a beam.", 'start': 5053.16, 'duration': 2.082}, {'end': 5056.143, 'text': 'So what happens??', 'start': 5055.522, 'duration': 0.621}], 'summary': 'Spring container uses configuration metadata to construct bean objects.', 'duration': 26.023, 'max_score': 5030.12, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc5030120.jpg'}, {'end': 5132.266, 'src': 'embed', 'start': 5100.959, 'weight': 8, 'content': [{'end': 5105.98, 'text': 'So any post processing or any properties which you need to set, you can do that.', 'start': 5100.959, 'duration': 5.021}, {'end': 5111.961, 'text': 'so you can have your custom in it and you can have your you know kind of post processor available in.', 'start': 5105.98, 'duration': 5.981}, {'end': 5120.662, 'text': 'your beans will see that and once the bean is ready to use, right so container is finally shut down and your bean will be destroyed.', 'start': 5111.961, 'duration': 8.701}, {'end': 5125.663, 'text': "So guys let's try to see one basic lifecycle implementation of this whole process.", 'start': 5120.922, 'duration': 4.741}, {'end': 5132.266, 'text': "So what I'm gonna do over here in my employee going to write two methods, right.", 'start': 5126.303, 'duration': 5.963}], 'summary': 'Discussion about post processing, bean lifecycle, and custom methods in employee class.', 'duration': 31.307, 'max_score': 5100.959, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc5100959.jpg'}, {'end': 5515.962, 'src': 'embed', 'start': 5485.906, 'weight': 10, 'content': [{'end': 5493.847, 'text': 'I can say E dot set of you know this address as in A,', 'start': 5485.906, 'duration': 7.941}, {'end': 5504.078, 'text': 'or I can just truly create one another employee object and within the constructor of this employee object I can pass this A.', 'start': 5493.847, 'duration': 10.231}, {'end': 5513.981, 'text': 'So in this way your employee object is constructed separately, right? And your address object is constructed separately.', 'start': 5505.014, 'duration': 8.967}, {'end': 5515.962, 'text': 'So later on you can use them.', 'start': 5514.541, 'duration': 1.421}], 'summary': 'Creating separate employee and address objects for easy use.', 'duration': 30.056, 'max_score': 5485.906, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc5485906.jpg'}, {'end': 5809.656, 'src': 'embed', 'start': 5777.177, 'weight': 2, 'content': [{'end': 5782.22, 'text': "So co.edureka.address, right? So you're gonna create one address.", 'start': 5777.177, 'duration': 5.043}, {'end': 5784.681, 'text': 'So we got city.', 'start': 5783.1, 'duration': 1.581}, {'end': 5789.307, 'text': 'Then state and finally you got a zip code.', 'start': 5786.002, 'duration': 3.305}, {'end': 5793.794, 'text': "So let's say city goes like Bangalore.", 'start': 5790.128, 'duration': 3.666}, {'end': 5797.019, 'text': 'Then state goes like Karnataka.', 'start': 5794.355, 'duration': 2.664}, {'end': 5802.713, 'text': 'and then zip code goes like five, two, some zeros and one right?', 'start': 5798.271, 'duration': 4.442}, {'end': 5805.114, 'text': "So let's say that this is an address right?", 'start': 5802.733, 'duration': 2.381}, {'end': 5809.656, 'text': 'So we have mapped the address as in city, state and zip code over here.', 'start': 5805.514, 'duration': 4.142}], 'summary': 'Demonstration of creating an address with city, state, and zip code in bangalore, karnataka with a specific zip code.', 'duration': 32.479, 'max_score': 5777.177, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc5777177.jpg'}], 'start': 3605.162, 'title': 'Introduction to spring framework', 'summary': 'Provides an introduction to the spring framework, setup process in eclipse ide, and the sequential approach to writing a program. it also covers the traditional approach of writing an object in java, the concept of inversion of control in spring ioc, lifecycle of a bean, and dependency injection for reducing coupling in the spring framework.', 'chapters': [{'end': 3735.088, 'start': 3605.162, 'title': 'Introduction to spring framework', 'summary': 'Discusses the theoretical introduction to the spring framework, the process of setting up eclipse ide for spring, and the sequential approach to writing a program in the spring framework, including the five essential steps.', 'duration': 129.926, 'highlights': ['The chapter discusses the theoretical introduction to the spring framework It provides a theoretical introduction to the spring framework.', 'The process of setting up Eclipse IDE for Spring It explains the process of downloading and installing the Eclipse IDE and plugging in the spring ide within the eclipse id.', 'The sequential approach to writing a program in the Spring framework, including the five essential steps It outlines the five essential steps, including writing a bean class, creating an XML file, defining a main class, loading the required jar files, and running the project.']}, {'end': 5286.908, 'start': 3736.349, 'title': 'Employee class and spring ioc container', 'summary': 'Discusses the traditional approach of writing an object in java, the concept of inversion of control in spring ioc, and the two types of ioc containers - beanfactory and applicationcontext, with a demonstration of their differences and features, along with the lifecycle of a bean and how to manage it with custom init and destroy methods.', 'duration': 1550.559, 'highlights': ['The chapter discusses the traditional approach of writing an object in Java, the concept of inversion of control in Spring IOC, and the two types of IOC containers - BeanFactory and ApplicationContext. The chapter provides insights into the traditional approach of writing an object in Java, the concept of inversion of control in Spring IOC, and the comparison between two types of IOC containers - BeanFactory and ApplicationContext.', "The chapter demonstrates the process of writing an object in Java using a class known as 'employee' and the traditional method of object construction. The chapter demonstrates the process of writing an object in Java using a class named 'employee' and the traditional method of object construction through examples and explanations.", 'The chapter explains the concept of inversion of control (IOC) in Spring, where objects are configured in an XML file and constructed by the Spring container, giving control over object construction to the Spring container. The chapter explains the concept of inversion of control (IOC) in Spring, where objects are configured in an XML file and constructed by the Spring container, giving control over object construction to the Spring container.', 'The chapter covers the differences and features of the two types of IOC containers - BeanFactory and ApplicationContext, and demonstrates how they manage object construction and lifecycle. The chapter covers the differences and features of the two types of IOC containers - BeanFactory and ApplicationContext, and demonstrates how they manage object construction and lifecycle.', 'The chapter provides a demonstration of the lifecycle of a bean and how to manage it with custom init and destroy methods, along with examples and explanations. The chapter provides a demonstration of the lifecycle of a bean and how to manage it with custom init and destroy methods, along with examples and explanations.']}, {'end': 5620.95, 'start': 5286.908, 'title': 'Dependency injection: reducing coupling', 'summary': 'Explains the concept of dependency injection, focusing on reducing coupling, achieving loose coupling, and implementing it in the spring framework using xml and java, either through constructor or setter methods.', 'duration': 334.042, 'highlights': ['Dependency injection is a design pattern that removes dependency from the programming code, making the application easy to manage and test. Dependency injection removes dependency from the programming code, making the application easy to manage and test.', 'Dependency injection makes programming code loosely coupled, ensuring that any change in the implementation of one will not affect the other. Dependency injection makes programming code loosely coupled, ensuring that any change in the implementation of one will not affect the other.', 'Using dependency injection in the Spring framework can be achieved through XML files, implementing inversion of control, and using either constructor or setter methods. Using dependency injection in the Spring framework can be achieved through XML files, implementing inversion of control, and using either constructor or setter methods.', 'The concept of dependency injection focuses on reducing coupling and justifying dependencies through constructor or setup, ultimately achieving loose coupling. The concept of dependency injection focuses on reducing coupling and justifying dependencies through constructor or setup, ultimately achieving loose coupling.']}, {'end': 5891.715, 'start': 5620.95, 'title': 'Implementing class linkage and dependency injection', 'summary': "Covers creating a new class 'address' with city, state, and zip code attributes, implementing getter and setter methods, constructor injection for a separate 'address' class in 'employee', and demonstrating the address details using tostring method.", 'duration': 270.765, 'highlights': ["Creating a new class 'address' with city, state, and zip code attributes The chapter begins with the creation of a new class 'address' with city, state, and zip code attributes, serving as the foundation for further implementation.", "Implementing getter and setter methods, and constructor injection for the 'address' class in 'employee' The implementation includes generating getter and setter methods and constructor injection for the 'address' class within the 'employee', enabling the linkage between the two classes.", 'Demonstrating the address details using toString method The chapter concludes by demonstrating the address details using the toString method, providing the user with the output of the address information.']}], 'duration': 2286.553, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc3605162.jpg', 'highlights': ['The process of setting up Eclipse IDE for Spring It explains the process of downloading and installing the Eclipse IDE and plugging in the spring ide within the eclipse id.', 'The sequential approach to writing a program in the Spring framework, including the five essential steps It outlines the five essential steps, including writing a bean class, creating an XML file, defining a main class, loading the required jar files, and running the project.', 'The chapter provides a demonstration of the lifecycle of a bean and how to manage it with custom init and destroy methods, along with examples and explanations.', 'The chapter explains the concept of inversion of control (IOC) in Spring, where objects are configured in an XML file and constructed by the Spring container, giving control over object construction to the Spring container.', 'Using dependency injection in the Spring framework can be achieved through XML files, implementing inversion of control, and using either constructor or setter methods.', 'Dependency injection makes programming code loosely coupled, ensuring that any change in the implementation of one will not affect the other.', 'The chapter discusses the traditional approach of writing an object in Java, the concept of inversion of control in Spring IOC, and the two types of IOC containers - BeanFactory and ApplicationContext. The chapter provides insights into the traditional approach of writing an object in Java, the concept of inversion of control in Spring IOC, and the comparison between two types of IOC containers - BeanFactory and ApplicationContext.', 'The concept of dependency injection focuses on reducing coupling and justifying dependencies through constructor or setup, ultimately achieving loose coupling.', "Creating a new class 'address' with city, state, and zip code attributes The chapter begins with the creation of a new class 'address' with city, state, and zip code attributes, serving as the foundation for further implementation.", "Implementing getter and setter methods, and constructor injection for the 'address' class in 'employee' The implementation includes generating getter and setter methods and constructor injection for the 'address' class within the 'employee', enabling the linkage between the two classes.", 'Demonstrating the address details using toString method The chapter concludes by demonstrating the address details using the toString method, providing the user with the output of the address information.', 'The chapter discusses the theoretical introduction to the spring framework It provides a theoretical introduction to the spring framework.']}, {'end': 7302.152, 'segs': [{'end': 6974.791, 'src': 'embed', 'start': 6925.157, 'weight': 4, 'content': [{'end': 6932.762, 'text': "It's been hijacked and again, it's telling the customer website and again, you're getting the advice after method.", 'start': 6925.157, 'duration': 7.605}, {'end': 6938.185, 'text': 'So this is how it works if you want it before I show you even how to do that as well.', 'start': 6933.062, 'duration': 5.123}, {'end': 6945.81, 'text': 'Nothing much change in this the only change that happens will be in hijack after being method and in customer dot XML.', 'start': 6938.725, 'duration': 7.085}, {'end': 6947.47, 'text': "Let's see how it occurs.", 'start': 6946.249, 'duration': 1.221}, {'end': 6950.252, 'text': "I'll modify the same program.", 'start': 6948.371, 'duration': 1.881}, {'end': 6954.936, 'text': 'So what I have done here is, instead of giving hijack after method,', 'start': 6951.113, 'duration': 3.823}, {'end': 6963.322, 'text': 'I have given it before method and I have changed implementation to before advice and in displaying that, I said it friends before method.', 'start': 6954.936, 'duration': 8.386}, {'end': 6970.167, 'text': 'Okay, save this and now go to customer.xml wherein you have to change certain things.', 'start': 6963.402, 'duration': 6.765}, {'end': 6972.789, 'text': "I'll tell you what are they everything remains same.", 'start': 6970.247, 'duration': 2.542}, {'end': 6974.791, 'text': 'You just have to give before over here.', 'start': 6972.809, 'duration': 1.982}], 'summary': 'Modifying the program to use before advice, updating customer.xml', 'duration': 49.634, 'max_score': 6925.157, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc6925157.jpg'}, {'end': 7046.13, 'src': 'embed', 'start': 7001.553, 'weight': 0, 'content': [{'end': 7010.561, 'text': "So this is my code in which I have given hijack around method and it implements method interceptor and then I'm passing the name and arguments.", 'start': 7001.553, 'duration': 9.008}, {'end': 7017.987, 'text': "I'm just telling, like it has to print around the method again and try and catch block and trying to catch an exception.", 'start': 7011.021, 'duration': 6.966}, {'end': 7020.349, 'text': 'if it does not occur now again,', 'start': 7017.987, 'duration': 2.362}, {'end': 7028.976, 'text': 'go back to your customer.xml file and change few things that will be your around over here as well and then here as well.', 'start': 7020.349, 'duration': 8.627}, {'end': 7032.701, 'text': 'And again the same thing given in case of value.', 'start': 7030.259, 'duration': 2.442}, {'end': 7037.144, 'text': 'You have to make it around save this as you can see.', 'start': 7032.721, 'duration': 4.423}, {'end': 7039.766, 'text': "I'm not recompiling the entire thing.", 'start': 7037.304, 'duration': 2.462}, {'end': 7046.13, 'text': "I'm just saving the files and I'm just executing that as I'm running the main class only this makes you understand.", 'start': 7040.086, 'duration': 6.044}], 'summary': 'Implementing method interceptor to print around method and catch exceptions.', 'duration': 44.577, 'max_score': 7001.553, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc7001553.jpg'}, {'end': 7155.049, 'src': 'embed', 'start': 7133.101, 'weight': 1, 'content': [{'end': 7141.924, 'text': 'and spring support that are written with aspect J annotations, and since aspect J annotations are supported by more and more AOP frameworks,', 'start': 7133.101, 'duration': 8.823}, {'end': 7148.607, 'text': 'your aspect J styles are more likely to be reused in AOP frameworks that support aspect J,', 'start': 7141.924, 'duration': 6.683}, {'end': 7155.049, 'text': "and now we'll see how we are implementing aspect J over here, and for that we are using aspect J annotations.", 'start': 7148.607, 'duration': 6.442}], 'summary': 'Implementing aspectj using aspectj annotations for aop frameworks.', 'duration': 21.948, 'max_score': 7133.101, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc7133101.jpg'}, {'end': 7274.912, 'src': 'embed', 'start': 7252.043, 'weight': 3, 'content': [{'end': 7267.838, 'text': "So first it says calling this message from this class and it goes back to your operation class and it says message method is invoked and then again it says I'm calling M and it again says method M is invoked and again it follows with K as well.", 'start': 7252.043, 'duration': 15.795}, {'end': 7270.52, 'text': "So I'll save this and I will run the program.", 'start': 7268.298, 'duration': 2.222}, {'end': 7272.362, 'text': "Let's wait for the output now.", 'start': 7271.101, 'duration': 1.261}, {'end': 7274.912, 'text': 'As I told you,', 'start': 7273.931, 'duration': 0.981}], 'summary': 'The program calls methods multiple times and awaits output.', 'duration': 22.869, 'max_score': 7252.043, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc7252043.jpg'}], 'start': 5891.715, 'title': 'Spring aop and aspectj annotations', 'summary': 'Covers dependency injection through constructor and setter methods, spring aop overview, core concepts, creating a basic customer service class, and implementing aspectj annotations in spring, providing insights into various aspects related to aop and dependency injection in spring framework.', 'chapters': [{'end': 5943.003, 'start': 5891.715, 'title': 'Dependency injection in constructor and setter', 'summary': 'Discusses the concept of dependency injection through constructor and setter methods, highlighting the two major ways to fulfill dependency, with no quantifiable data available.', 'duration': 51.288, 'highlights': ['The chapter explains the implementation of dependency injection through constructor and setter methods, emphasizing that there are two major ways to fulfill dependency.', 'The chapter discusses the concept of utilizing constructor and setter injection to achieve dependency injection, with no quantifiable data available.']}, {'end': 6540.596, 'start': 5948.569, 'title': 'Spring aop overview and core concepts', 'summary': 'Explains the need for aspect oriented programming in spring aop, covering the modularization of concerns, the dynamic addition and removal of cross-cutting concerns, and the simplification of maintenance. it also delves into the core concepts of aop, including aspects, advices, joint points, point cuts, weaving, and the steps required to create aop.', 'duration': 592.027, 'highlights': ['Spring AOP enables aspect oriented programming in spring applications, allowing the modularization of concerns like transaction management, logging, or security. Explains the purpose of Spring AOP in modularizing concerns across multiple types and objects.', 'AOP provides a way to dynamically add cross-cutting concerns before, after, or around the actual logic using simple pluggable configurations, facilitating easy maintenance and future modifications. Highlights the capability of AOP to dynamically add and remove concerns without recompiling the complete source code.', 'Aspect is a class that implements the Java Enterprise application concerns, cutting through multiple classes like transaction management, security, etc. Defines the concept of aspect as a class implementing application concerns across multiple classes.', 'Advices are the methods that get executed when a certain joint point meets a matching point cut in the application. Describes advices as methods executed at specific joint points based on matching point cuts.', 'Joint points are points in the program such as method execution, exception handling, etc., where an aspect can be plugged in. Explains joint points as candidate points in program execution where aspects can be applied.', 'Point cuts are expressions matched with joint points to determine whether advices need to be executed or not. Defines point cuts as expressions matched with joint points to determine the execution of advices.', 'Weaving is the process of linking an aspect with other application types or objects to create an advised object. Explains weaving as the process of linking aspects with application types or objects to create advised objects.', 'The steps required to create AOP include maven dependencies, writing aspect and point cut expressions, defining join points, and writing the main class to run the application. Outlines the four main steps for creating AOP, from maven dependencies to running the application.']}, {'end': 7046.13, 'start': 6541.197, 'title': 'Creating basic customer service class', 'summary': 'Covers the creation of a basic customer service class with directory structure, class methods, configuration of bean, and implementation of different types of advices in spring framework, showcasing before, after, and around advices.', 'duration': 504.933, 'highlights': ['The directory structure includes main, Java, and com.edureka group ID, and edureka artifact ID with three classes inside the source. The directory structure consists of main, Java, and com.edureka group ID, and edureka artifact ID with three classes.', 'The customer service class has two variables, name and URL, with corresponding setters and getters, and methods to print the name and URL. The customer service class contains two variables, name and URL, along with setters and getters and methods to print the name and URL.', 'The customer.xml file is located in the resources and contains the necessary configuration for the Spring framework. The customer.xml file is located in the resources and contains the necessary configuration for the Spring framework.', 'The configuration of bean includes specifying the bean ID, class format, property name, and value, and applying before advice method using before annotation mark. The configuration of bean includes specifying the bean ID, class format, property name, and value, along with applying before advice method using before annotation mark.', 'The main class sets the application context with the XML application context class path, specifies the get bean method, and sets the customer service proxy for before advice. The main class sets the application context with the XML application context class path, specifies the get bean method, and sets the customer service proxy for before advice.', 'Different types of advices are explained, including before advice, after advice, after returning from advice, and around advice, with their respective execution points and modifications required in the program. The chapter explains different types of advices, including before advice, after advice, after returning from advice, and around advice, along with their respective execution points and modifications required in the program.']}, {'end': 7302.152, 'start': 7046.19, 'title': 'Implementing aspectj annotations in spring', 'summary': "Discusses implementing aspectj annotations in spring, demonstrating how to apply advices using annotations and how to call methods using aspectj, while also explaining the key components of spring's aspect-oriented programming framework and its complement to the ioc container.", 'duration': 255.962, 'highlights': ['The chapter discusses implementing AspectJ annotations in Spring, demonstrating how to apply advices using annotations and how to call methods using AspectJ. The chapter covers the implementation of AspectJ annotations in Spring, showcasing the application of advices and method calls using annotations.', "Explains the key components of Spring's aspect-oriented programming framework and its complement to the IOC container. The chapter explains the key components of Spring's aspect-oriented programming framework and its complement to the Inversion of Control (IOC) container.", 'AspectJ has grown into a complete and popular AOP framework, and spring supports aspect J annotations. AspectJ has become a comprehensive and widely used AOP framework, and Spring supports AspectJ annotations.', 'The unit of modularity in AOP is the class, while in AspectJ, it is the aspect, enabling the modularization of concerns across multiple types and objects. In AOP, the unit of modularity is the class, whereas in AspectJ, it is the aspect, allowing the modularization of concerns across multiple types and objects.', 'The chapter demonstrates applying annotations in the track class and importing the aspect J join point as an annotation for tracking, along with the implementation in the operation class. The chapter illustrates the application of annotations in the track class and the import of the aspect J join point as an annotation for tracking, as well as the implementation in the operation class.']}], 'duration': 1410.437, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc5891715.jpg', 'highlights': ['AOP provides dynamic addition of concerns without recompiling (Paragraph 2)', 'AspectJ is a comprehensive and widely used AOP framework (Paragraph 4)', 'Spring AOP modularizes concerns like transaction management (Paragraph 2)', 'AspectJ annotations are implemented in Spring for applying advices (Paragraph 4)', 'Dependency injection can be achieved through constructor and setter methods (Paragraph 1)', 'AOP enables linking aspects with application types to create advised objects (Paragraph 2)', 'Different types of advices are explained, including before, after, and around advice (Paragraph 3)', 'AspectJ modularizes concerns across multiple types and objects (Paragraph 4)', 'Steps for creating AOP include maven dependencies and defining join points (Paragraph 2)', 'Customer service class contains variables, setters, getters, and print methods (Paragraph 3)']}, {'end': 8033.679, 'segs': [{'end': 7913.484, 'src': 'embed', 'start': 7888.167, 'weight': 0, 'content': [{'end': 7893.63, 'text': 'now, in such cases, what you have to do is you have to basically recreate the class for this particular scenario.', 'start': 7888.167, 'duration': 5.463}, {'end': 7897.512, 'text': "So, for example, let's say that you know you want to save the text and the audio messages.", 'start': 7893.97, 'duration': 3.542}, {'end': 7902.994, 'text': 'then you automatically have to recreate this email service class based on the parameters of those particular messages.', 'start': 7897.512, 'duration': 5.482}, {'end': 7905.757, 'text': 'Now this might be sounding quite simple to you guys.', 'start': 7903.414, 'duration': 2.343}, {'end': 7909.58, 'text': "But if you take the same example on an industry level, it's quite cumbersome.", 'start': 7905.797, 'duration': 3.783}, {'end': 7913.484, 'text': "like you know, every time there's an update, or maybe every time the company wants to do something new.", 'start': 7909.58, 'duration': 3.904}], 'summary': 'Recreate class based on message parameters; cumbersome at industry level.', 'duration': 25.317, 'max_score': 7888.167, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc7888167.jpg'}], 'start': 7302.802, 'title': 'Dependency injection principles & types', 'summary': 'Covers the basics and principles of dependency injection, including its definition, usage, and benefits. it emphasizes the importance of loose coupling, ease of extension, unit testing, and reduction of boilerplate code, highlighting its relationship with inversion of control.', 'chapters': [{'end': 7613.262, 'start': 7302.802, 'title': 'Dependency injection basics', 'summary': 'Covers the basics of dependency injection, including its definition, usage, and principles, and explains the concept with examples in java programming. it also highlights the main classes involved in the dependency injection process and its relationship with inversion of control.', 'duration': 310.46, 'highlights': ['Dependency injection is the ability of an object to supply dependencies of another object, aiming to help developers code easily by providing dependencies of another object. The session focuses on the definition of dependency injection and its aim to assist developers by providing dependencies of another object.', 'Dependency in programming is an approach where a class uses specific functionalities of another class, and dependency injection works by creating objects for classes and letting the class directly use that particular dependency. The explanation of dependency in programming and the process of dependency injection, including creating objects for classes and allowing the class to use the dependency.', 'The session explains the principle of inversion of control, which is used to invert additional responsibilities of a class rather than the main responsibility. Inversion of control is introduced as a principle to invert additional responsibilities of a class, shifting them from the main responsibility.']}, {'end': 8033.679, 'start': 7613.682, 'title': 'Dependency injection principle & types', 'summary': 'Explains the inversion of control (ioc) principle, dependency injection (di) types, and its benefits. it emphasizes the importance of loose coupling, ease of extension, unit testing, and reduction of boilerplate code.', 'duration': 419.997, 'highlights': ['Dependency Injection Types: Constructor, Setter, and Interface Injection The chapter discusses three types of dependency injection: constructor, setter, and interface injection, explaining how the injector supplies dependencies, injects dependencies to the setter method, and uses the interface to provide the dependency to the client class.', 'Benefits of Dependency Injection: Loose Couplings, Easy Extension, Unit Testing, Reduction of Boilerplate Code It elaborates on the benefits of dependency injection, including enabling loose couplings, easy extension, simplified unit testing, and reduction of boilerplate code in applications.', 'Inversion of Control Principle The chapter explains the Inversion of Control (IOC) principle, discussing how it allows inverting the control, delegating responsibilities, and concentrating on fulfilling main responsibilities.', 'Reason behind Dependency Injection: Avoiding Recreating Classes It emphasizes the need for dependency injection to avoid recreating classes, allowing for changing objects at runtime and handling different types of messages without class recreation.']}], 'duration': 730.877, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc7302802.jpg', 'highlights': ['Dependency Injection Types: Constructor, Setter, and Interface Injection', 'Benefits of Dependency Injection: Loose Couplings, Easy Extension, Unit Testing, Reduction of Boilerplate Code', 'Reason behind Dependency Injection: Avoiding Recreating Classes', 'Dependency injection is the ability of an object to supply dependencies of another object', 'Dependency in programming is an approach where a class uses specific functionalities of another class', 'The session explains the principle of inversion of control, which is used to invert additional responsibilities of a class']}, {'end': 9025.485, 'segs': [{'end': 8238.125, 'src': 'embed', 'start': 8201.177, 'weight': 6, 'content': [{'end': 8209.441, 'text': "So for that what I'll mention is I'll mention private and let's say cast ID.", 'start': 8201.177, 'duration': 8.264}, {'end': 8215.952, 'text': "Let's say we mention private string.", 'start': 8210.763, 'duration': 5.189}, {'end': 8219.615, 'text': "Let's say cast name.", 'start': 8217.853, 'duration': 1.762}, {'end': 8235.003, 'text': "And then private string course name, right? So these are basically the three objects that I've created inside the customer class right now.", 'start': 8222.357, 'duration': 12.646}, {'end': 8238.125, 'text': "What I'll do is I'll generate the getter set the methods for all these objects.", 'start': 8235.043, 'duration': 3.082}], 'summary': 'Three objects - private and cast id, cast name, course name created in customer class', 'duration': 36.948, 'max_score': 8201.177, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc8201177.jpg'}, {'end': 8823.992, 'src': 'embed', 'start': 8799.549, 'weight': 3, 'content': [{'end': 8807.073, 'text': 'So this is basically the method that I created and this is the tech detail is basically the object that I created in the customer class for the technologies class,', 'start': 8799.549, 'duration': 7.524}, {'end': 8808.934, 'text': "right?. So that's what you can see over here.", 'start': 8807.073, 'duration': 1.861}, {'end': 8810.995, 'text': "Where is it? I'm sorry.", 'start': 8808.954, 'duration': 2.041}, {'end': 8812.175, 'text': 'I skipped it.', 'start': 8811.015, 'duration': 1.16}, {'end': 8816.517, 'text': 'Yeah, this is basically the object right?', 'start': 8814.456, 'duration': 2.061}, {'end': 8820.139, 'text': "So I just put it over here so that there's no confusion, right?", 'start': 8817.057, 'duration': 3.082}, {'end': 8823.992, 'text': 'Now, to make sure that you know, the deck detail object is instantiated.', 'start': 8820.808, 'duration': 3.184}], 'summary': 'Created method and object in customer class for technologies class.', 'duration': 24.443, 'max_score': 8799.549, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc8799549.jpg'}, {'end': 8912.205, 'src': 'embed', 'start': 8881.695, 'weight': 1, 'content': [{'end': 8884.418, 'text': "so for that I'll go to run as All right.", 'start': 8881.695, 'duration': 2.723}, {'end': 8885.161, 'text': "I'll go over here.", 'start': 8884.418, 'duration': 0.743}, {'end': 8889.618, 'text': "I'll go to run as and choose spring boot app and then I click on OK.", 'start': 8885.522, 'duration': 4.096}, {'end': 8895.712, 'text': "Now, when you execute the project, you'll see an error that is basically null pointer exception, right?", 'start': 8891.428, 'duration': 4.284}, {'end': 8905.419, 'text': "So that's basically coming because you know now the customer class is dependent on the Technologies class and yet to the fact the customer class doesn't know the existence of Technologies class,", 'start': 8895.732, 'duration': 9.687}, {'end': 8912.205, 'text': "right?. So what I'm saying is that you know class A is dependent on class B, but class A doesn't know the existence of class B.", 'start': 8905.419, 'duration': 6.786}], 'summary': 'Executing the project leads to a null pointer exception due to class a being dependent on class b without its knowledge.', 'duration': 30.51, 'max_score': 8881.695, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc8881695.jpg'}, {'end': 8942.044, 'src': 'embed', 'start': 8912.205, 'weight': 0, 'content': [{'end': 8916.228, 'text': 'So you have to make sure that you know the class A gets to know the existence of class B, right?', 'start': 8912.205, 'duration': 4.023}, {'end': 8920.521, 'text': 'So, basically, to enable the customer class to recognize the Technologies class.', 'start': 8917.057, 'duration': 3.464}, {'end': 8924.605, 'text': 'You have to insert the at the rate auto-wired annotation into the customers class.', 'start': 8920.581, 'duration': 4.024}, {'end': 8931.452, 'text': "I'll just mention at the rate auto-wired over here and then I'll just import the required packages.", 'start': 8925.385, 'duration': 6.067}, {'end': 8935.982, 'text': 'So once I include this annotation at the at the rate auto-wired.', 'start': 8932.64, 'duration': 3.342}, {'end': 8942.044, 'text': "what's happening is basically that you know you have a spring container and then you have an object of the class that is basically the customer class.", 'start': 8935.982, 'duration': 6.062}], 'summary': 'To enable customer class to recognize technologies class, insert @autowired annotation into customers class.', 'duration': 29.839, 'max_score': 8912.205, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc8912205.jpg'}, {'end': 8978.688, 'src': 'embed', 'start': 8948.527, 'weight': 2, 'content': [{'end': 8952.289, 'text': 'So basically, when you insert this particular annotation, that is at the rate auto-wired,', 'start': 8948.527, 'duration': 3.762}, {'end': 8956.211, 'text': 'automatically the customer class comes to know the existence of the technologies class.', 'start': 8952.289, 'duration': 3.922}, {'end': 8962.758, 'text': 'So the dependency of one class to other classes initialize and automatically, when you just execute this particular project.', 'start': 8956.571, 'duration': 6.187}, {'end': 8968.624, 'text': "So you'll see an output of object created successfully and also the second method, which prints out successful right?", 'start': 8962.778, 'duration': 5.846}, {'end': 8972.463, 'text': "So let's just execute this particular project.", 'start': 8969.045, 'duration': 3.418}, {'end': 8978.688, 'text': "So when I execute this particular project, you'll see an output that you know object created successfully and successful right?", 'start': 8972.884, 'duration': 5.804}], 'summary': 'Annotation @autowired creates dependency between classes, resulting in successful object creation and method execution.', 'duration': 30.161, 'max_score': 8948.527, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc8948527.jpg'}, {'end': 9037.932, 'src': 'embed', 'start': 9010.177, 'weight': 4, 'content': [{'end': 9020.502, 'text': 'and I also suggest you to subscribe to edureka channel to quick start your learning and also hit the bell icon to get the notifications for the latest update on the channel.', 'start': 9010.177, 'duration': 10.325}, {'end': 9025.485, 'text': "So without wasting any further time, let's get straight into the module.", 'start': 9021.563, 'duration': 3.922}, {'end': 9037.932, 'text': 'First I will tell you what a spring MVC and after that I will talk about the spring model view controller framework and the workflow of the framework followed by that.', 'start': 9026.07, 'duration': 11.862}], 'summary': 'Edureka channel subscription recommended for quick learning.', 'duration': 27.755, 'max_score': 9010.177, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc9010177.jpg'}], 'start': 8033.999, 'title': 'Implementing dependency injection and dependency between java classes', 'summary': 'Covers the implementation of dependency injection using spring boot and spring, including the installation of spring tool suite, creating a spring starter project, initializing a spring container, implementing dependency injection using annotations, creating classes, generating methods, using objects, and handling dependencies between classes, resulting in successful project execution and resolution of class dependencies using annotations.', 'chapters': [{'end': 8162.295, 'start': 8033.999, 'title': 'Implementing dependency injection with spring boot', 'summary': 'Covers the implementation of dependency injection using spring boot, including the installation of spring tool suite, creating a spring starter project, and examining the project structure.', 'duration': 128.296, 'highlights': ['The speaker demonstrates the installation of Spring Tool Suite by accessing the Eclipse Marketplace and downloading the software. The process of installing Spring Tool Suite involves accessing the Eclipse Marketplace and downloading the software.', 'The process of creating a Spring Starter project is explained, including specifying the project name and observing the generated project files. The process of creating a Spring Starter project is explained, including specifying the project name and observing the generated project files.', 'The structure of the project files, including the main dependencies file and the application file, is highlighted to understand the project organization. The project structure is highlighted, including the main dependencies file and the application file.']}, {'end': 8630.845, 'start': 8162.535, 'title': 'Implementing dependency injection with spring', 'summary': 'Explains how to create a new class, initialize a spring container, and implement dependency injection using annotations, resulting in the creation of a customer object and its successful injection into the application.', 'duration': 468.31, 'highlights': ['The process of creating a new class within the same package and adding objects such as customer ID, customer name, and course name is demonstrated.', 'The generation of getter and setter methods for the objects within the customer class is explained, illustrating the automatic creation of these methods.', 'The detailed process of implementing dependency injection using the @Component annotation, initializing a spring container, and injecting the customer object into the application is described.']}, {'end': 9025.485, 'start': 8631.245, 'title': 'Implementing dependency between java classes', 'summary': 'Demonstrates creating classes, generating methods, using objects, and handling dependencies between classes, resulting in the successful execution of the project, with key details such as the creation of two classes, object instantiation, method usage, and the resolution of class dependencies using annotations.', 'duration': 394.24, 'highlights': ['The dependency between classes is fulfilled using the @Autowired annotation, ensuring that the customer class recognizes the existence of the Technologies class, leading to the successful execution of the project. Dependency resolution using @Autowired annotation, successful project execution', 'Creation of the Technologies class with parameters techID and techName, and the generation of getter and setter methods for these parameters. Creation of Technologies class, defining parameters, generating getter and setter methods', 'Demonstration of using the created method techName in the Technologies class within the customer class, by creating an object of the Technologies class and using getter and setter methods. Usage of techName method, object creation, getter and setter method usage']}], 'duration': 991.486, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc8033999.jpg', 'highlights': ['The process of creating a Spring Starter project is explained, including specifying the project name and observing the generated project files.', 'The speaker demonstrates the installation of Spring Tool Suite by accessing the Eclipse Marketplace and downloading the software.', 'The structure of the project files, including the main dependencies file and the application file, is highlighted to understand the project organization.', 'The detailed process of implementing dependency injection using the @Component annotation, initializing a spring container, and injecting the customer object into the application is described.', 'The process of creating a new class within the same package and adding objects such as customer ID, customer name, and course name is demonstrated.', 'The generation of getter and setter methods for the objects within the customer class is explained, illustrating the automatic creation of these methods.', 'The dependency between classes is fulfilled using the @Autowired annotation, ensuring that the customer class recognizes the existence of the Technologies class, leading to the successful execution of the project.', 'Creation of the Technologies class with parameters techID and techName, and the generation of getter and setter methods for these parameters.', 'Demonstration of using the created method techName in the Technologies class within the customer class, by creating an object of the Technologies class and using getter and setter methods.']}, {'end': 10194.658, 'segs': [{'end': 9123.113, 'src': 'embed', 'start': 9094.537, 'weight': 7, 'content': [{'end': 9103.546, 'text': 'So, dispatcher servlet is a class that receives the incoming request and maps it to the right resource, such as controller, model and view.', 'start': 9094.537, 'duration': 9.009}, {'end': 9113.665, 'text': 'So, as you all might be aware, that every web application integrates with spring framework because it does not require web server activation,', 'start': 9104.278, 'duration': 9.387}, {'end': 9123.113, 'text': 'and with spring MVC this web server activation support is built-in and you are not bound to any container life cycle that you need to manipulate,', 'start': 9113.665, 'duration': 9.448}], 'summary': 'Dispatcher servlet maps incoming requests to resources, integrating with spring mvc for built-in web server activation and freedom from container life cycle manipulation.', 'duration': 28.576, 'max_score': 9094.537, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc9094537.jpg'}, {'end': 9467.817, 'src': 'embed', 'start': 9438.199, 'weight': 0, 'content': [{'end': 9446.541, 'text': 'the one is the beam configuration file and the other one is my web.xml file for navigating through the web page.', 'start': 9438.199, 'duration': 8.342}, {'end': 9448.921, 'text': 'and then I have a target.', 'start': 9446.541, 'duration': 2.38}, {'end': 9455.042, 'text': 'again this comprise of web resource and I have my Maven manifest, so you can see here.', 'start': 9448.921, 'duration': 6.121}, {'end': 9462.744, 'text': 'This is the structure that it should maintain and first thing is I have to configure my palm.xml file.', 'start': 9455.382, 'duration': 7.362}, {'end': 9465.576, 'text': 'So you can see here.', 'start': 9464.295, 'duration': 1.281}, {'end': 9467.817, 'text': 'This is a form dot XML file.', 'start': 9465.696, 'duration': 2.121}], 'summary': 'Configure palm.xml and web.xml for web page navigation.', 'duration': 29.618, 'max_score': 9438.199, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc9438199.jpg'}, {'end': 10048.432, 'src': 'embed', 'start': 10018.857, 'weight': 6, 'content': [{'end': 10026.724, 'text': "next, high productive spring MVC can boost your development process, and that's the reason it is highly productive.", 'start': 10018.857, 'duration': 7.867}, {'end': 10035.452, 'text': 'now, talking about the security most of the online banking web applications are developed using spring MVC because of its high security.', 'start': 10026.724, 'duration': 8.728}, {'end': 10038.185, 'text': 'and, as you all know, it is MVC supported,', 'start': 10036.104, 'duration': 2.081}, {'end': 10048.432, 'text': "and that's the reason it is a great way to develop modular web application and also it comprise of a separate class for specified roles like model command validator,", 'start': 10038.185, 'duration': 10.247}], 'summary': 'Spring mvc is highly productive and secure, used in online banking applications. it supports mvc and modular web development.', 'duration': 29.575, 'max_score': 10018.857, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc10018857.jpg'}, {'end': 10146.096, 'src': 'embed', 'start': 10092.543, 'weight': 1, 'content': [{'end': 10097.564, 'text': "So Spring's dominance over the years has increased right?", 'start': 10092.543, 'duration': 5.021}, {'end': 10106.226, 'text': 'And it basically is having one monopoly in the field of web frameworks, specifically in Java Enterprise Edition.', 'start': 10097.724, 'duration': 8.502}, {'end': 10108.987, 'text': 'So Spring Framework plays one important role.', 'start': 10106.626, 'duration': 2.361}, {'end': 10115.273, 'text': 'So you can see a significant increase from 2012 to 2016 in the market right?', 'start': 10109.347, 'duration': 5.926}, {'end': 10121.058, 'text': 'So if you can see so spring, MVC is one of the most you know interesting part over here.', 'start': 10115.293, 'duration': 5.765}, {'end': 10125.262, 'text': 'If you can see it has the maximum, you know, respondents available.', 'start': 10121.118, 'duration': 4.144}, {'end': 10129.626, 'text': "So let's see some job trends when it comes to spring framework.", 'start': 10125.982, 'duration': 3.644}, {'end': 10135.189, 'text': 'so in a country like india we have uh, somehow you know uh demand, right.', 'start': 10130.186, 'duration': 5.003}, {'end': 10140.453, 'text': "so it's it's like more of demand in india and, uh, if you can see various job portals.", 'start': 10135.189, 'duration': 5.264}, {'end': 10146.096, 'text': 'so an approximate uh average is, uh, nearly three thousand, right.', 'start': 10140.453, 'duration': 5.643}], 'summary': "Spring framework's dominance increased with significant market growth from 2012 to 2016, showing high demand in india with an average of nearly 3000 job listings.", 'duration': 53.553, 'max_score': 10092.543, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc10092543.jpg'}], 'start': 9026.07, 'title': 'Spring mvc framework and configuration', 'summary': 'Provides an overview of spring mvc framework, its components, and workflow. it explains configuring controller class and view page, including annotations, servlet configuration, and server setup. furthermore, it covers the historical background and job trends for spring framework, emphasizing its market dominance and job opportunities.', 'chapters': [{'end': 9545.577, 'start': 9026.07, 'title': 'Spring mvc overview', 'summary': 'Introduces the spring mvc framework, explaining its features, components, and workflow. it also provides a detailed example of setting up a spring mvc project and configuring dependencies, emphasizing the importance of a dispatcher servlet and various components.', 'duration': 519.507, 'highlights': ['Introduction to Spring MVC framework The chapter explains the basics of Spring MVC, highlighting its role in building web applications and its implementation of core Spring framework features like inversion of control and dependency injection.', 'Dispatcher servlet in Spring MVC The role of the dispatcher servlet is detailed, emphasizing its function in receiving incoming requests and mapping them to the appropriate resources, such as controllers, models, and views.', "Components of Model View Controller The components of the Model View Controller framework in Spring are explained, covering the model's core data, the controller's business logic, and the view's representation of information in different formats.", 'Workflow of Spring MVC The chapter provides an in-depth explanation of how Spring integrates with the Model View Controller approach, detailing the flow of requests from dispatcher servlet to handler mapping, controller, view resolver, and view, ultimately leading to the generation of output.', 'Setting up a Spring MVC project A step-by-step example is presented for creating a Maven project, adding dependencies, configuring a controller class, web XML file, and bean definition in the XML file, and creating a JSP page to execute the program.', 'Configuring dependencies in pom.xml The process of configuring dependencies in the pom.xml file is outlined, emphasizing the inclusion of essential dependencies like spring framework web MVC, MySQL connector, Java Excel, and spring context.']}, {'end': 9795.245, 'start': 9545.717, 'title': 'Configuring controller class and view page', 'summary': 'Explains the steps to configure a controller class using apache tomcat and chiari system, including annotations, servlet configuration, and server setup, ensuring the display of a message on the web browser, followed by the process of entering and displaying data in a specific format.', 'duration': 249.528, 'highlights': ['The controller class is configured using annotations such as @Controller and @RequestMapping to map the class with a specified URL, ensuring the display of a welcome message on the JSP view page and execution on the Tomcat server.', 'The bean class and web.xml file are also configured to specify view components, and the context components element defines the base package for dispatcher servlet to search the controller class.', 'The servlet class, dispatcher servlet, is specified in the web.xml file as the front controller for Spring MVC, handling incoming requests for HTML files and forwarding them to the dispatcher servlet.', "The project is run on the server, resulting in the server starting, loading all definitions from servlet context, initializing, and displaying the 'welcome to Edureka' message on the browser, showcasing the successful configuration of the controller class, bean configuration file, and JSP view page.", 'The next example involves entering a username and displaying the data in a particular format, requiring proper configuration of dependencies, including Java resources and Maven dependencies, as well as the pom.xml file.']}, {'end': 10194.658, 'start': 9795.245, 'title': 'Spring mvc framework overview', 'summary': 'Introduces the spring mvc framework, explaining the controller annotation, view pages, model configuration, web.xml configuration, and advantages of spring mvc. additionally, it provides historical background and job trends for spring framework, emphasizing its market dominance and job opportunities.', 'duration': 399.413, 'highlights': ["Spring Source was purchased by BMW for approximately $420 million in 2009 Spring Source, the company behind the Spring Framework, was acquired by BMW for approximately $420 million in 2009, demonstrating the framework's significant market value.", 'Spring MVC is one of the most in-demand frameworks in India, with approximately 3000 job openings In India, there is a high demand for Spring MVC framework with around 3000 job openings, indicating its relevance and popularity in the Indian job market.', 'The graph of permanent jobs versus contract jobs for Spring Framework is constantly rising, indicating sustained demand The trend of permanent jobs versus contract jobs in the Spring Framework is continuously increasing, suggesting a growing and stable demand for professionals with Spring Framework expertise.', 'Spring Framework showed a significant increase in market dominance from 2012 to 2016 From 2012 to 2016, the Spring Framework exhibited a substantial rise in market dominance, indicating its widespread adoption and relevance in the field of web frameworks, particularly in Java Enterprise Edition.', 'Spring MVC can boost development process, making it highly productive Spring MVC is known for enhancing the development process, making it highly productive and efficient, thus contributing to faster and smoother application development.']}], 'duration': 1168.588, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc9026070.jpg', 'highlights': ['Spring Source was purchased by BMW for approximately $420 million in 2009', 'Spring Framework showed a significant increase in market dominance from 2012 to 2016', 'Spring MVC is one of the most in-demand frameworks in India, with approximately 3000 job openings', 'Spring Framework exhibited a substantial rise in market dominance from 2012 to 2016', 'Spring MVC can boost development process, making it highly productive', 'The trend of permanent jobs versus contract jobs in the Spring Framework is continuously increasing', 'Setting up a Spring MVC project A step-by-step example is presented for creating a Maven project', 'Configuring dependencies in pom.xml The process of configuring dependencies in the pom.xml file is outlined', 'The chapter provides an in-depth explanation of how Spring integrates with the Model View Controller approach', 'The role of the dispatcher servlet is detailed, emphasizing its function in receiving incoming requests and mapping them to the appropriate resources']}, {'end': 12070.113, 'segs': [{'end': 11268.289, 'src': 'embed', 'start': 11238.651, 'weight': 6, 'content': [{'end': 11241.692, 'text': "And here I'm going to say a client class with the main method.", 'start': 11238.651, 'duration': 3.041}, {'end': 11245.034, 'text': 'So in the client class with the main method.', 'start': 11242.493, 'duration': 2.541}, {'end': 11247.975, 'text': 'so what is the traditional way of creating the objects?', 'start': 11245.034, 'duration': 2.941}, {'end': 11252.496, 'text': 'Or what is the general way of creating the object?', 'start': 11248.055, 'duration': 4.441}, {'end': 11256.078, 'text': 'So, general way of creating the objects.', 'start': 11252.516, 'duration': 3.562}, {'end': 11261.079, 'text': 'it goes like you say an employee as in a new employee.', 'start': 11256.078, 'duration': 5.001}, {'end': 11263.14, 'text': 'So this is the reference to the employee object.', 'start': 11261.119, 'duration': 2.021}, {'end': 11268.289, 'text': 'So I can say eref dot set of name.', 'start': 11263.965, 'duration': 4.324}], 'summary': 'Creating objects using the traditional method involves referencing the object and setting its attributes.', 'duration': 29.638, 'max_score': 11238.651, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc11238651.jpg'}, {'end': 11415.144, 'src': 'embed', 'start': 11362.272, 'weight': 0, 'content': [{'end': 11367.616, 'text': "So when I say configure the build path, I will be in my libraries and I'm going to say add external jars.", 'start': 11362.272, 'duration': 5.344}, {'end': 11370.298, 'text': "so let's add the spring jars.", 'start': 11368.496, 'duration': 1.802}, {'end': 11374.262, 'text': 'so guys, i got this spring jars available over here.', 'start': 11370.298, 'duration': 3.964}, {'end': 11377.965, 'text': 'so we need to add the core layer jars, right.', 'start': 11374.262, 'duration': 3.703}, {'end': 11380.988, 'text': "so i'm using the spring core over here.", 'start': 11377.965, 'duration': 3.023}, {'end': 11386.053, 'text': "so i'm going to add these core jar files and then say apply, and you can say okay.", 'start': 11380.988, 'duration': 5.065}, {'end': 11390.397, 'text': 'so here you can see the referenced jars available for your spring framework.', 'start': 11386.053, 'duration': 4.344}, {'end': 11399.627, 'text': 'Now the next part is to come up with some XML configuration file in your SRC directory.', 'start': 11391.423, 'duration': 8.204}, {'end': 11403.728, 'text': "To do so, so what I'm going to do, I have it with me.", 'start': 11399.807, 'duration': 3.921}, {'end': 11405.149, 'text': 'So let me open that.', 'start': 11404.048, 'duration': 1.101}, {'end': 11410.281, 'text': "So I'm here with this employee bean dot XML.", 'start': 11406.638, 'duration': 3.643}, {'end': 11415.144, 'text': "So gonna copy this XML file and I'm going to paste it in my SRC directory.", 'start': 11410.301, 'duration': 4.843}], 'summary': 'Configured build path with spring jars, added core layer jars, and copied xml file to src directory.', 'duration': 52.872, 'max_score': 11362.272, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc11362272.jpg'}, {'end': 11509.965, 'src': 'embed', 'start': 11476.942, 'weight': 1, 'content': [{'end': 11478.743, 'text': 'So I have mentioned these properties.', 'start': 11476.942, 'duration': 1.801}, {'end': 11483.547, 'text': 'So what are the values which you want to set into them? So I will say one or two.', 'start': 11478.763, 'duration': 4.784}, {'end': 11485.568, 'text': 'The name goes like Jenny.', 'start': 11484.227, 'duration': 1.341}, {'end': 11492.072, 'text': "And salary goes like, let's say, somewhere around 50,000.", 'start': 11487.189, 'duration': 4.883}, {'end': 11493.694, 'text': 'Department is HR.', 'start': 11492.073, 'duration': 1.621}, {'end': 11501.182, 'text': 'And email is Jenny at example.com, right? So here we are guys.', 'start': 11494.655, 'duration': 6.527}, {'end': 11508.644, 'text': 'So now you can configure as many as objects you want in your XML file.', 'start': 11501.662, 'duration': 6.982}, {'end': 11509.965, 'text': "So let's configure one more.", 'start': 11508.684, 'duration': 1.281}], 'summary': 'Configuring properties with values like name: jenny, salary: 50,000, department: hr, and email: jenny@example.com', 'duration': 33.023, 'max_score': 11476.942, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc11476942.jpg'}, {'end': 11824.658, 'src': 'embed', 'start': 11797.316, 'weight': 2, 'content': [{'end': 11800.92, 'text': 'Now it is very much equivalent to whatever we have done before.', 'start': 11797.316, 'duration': 3.604}, {'end': 11803.402, 'text': "Now I'm just going to run the code right?", 'start': 11801.54, 'duration': 1.862}, {'end': 11810.09, 'text': 'So when I run the code, I can see both the employee objects are constructed, even though I have not requested for any object.', 'start': 11803.422, 'duration': 6.668}, {'end': 11815.613, 'text': "Now that's one of the significant difference which you can see over here right as in the practical environment.", 'start': 11810.47, 'duration': 5.143}, {'end': 11824.658, 'text': "So if you don't request even then it's going to create and if you are trying to request so you request it in the same way.", 'start': 11816.153, 'duration': 8.505}], 'summary': 'Code creates employee objects even without request.', 'duration': 27.342, 'max_score': 11797.316, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc11797316.jpg'}, {'end': 11949.322, 'src': 'embed', 'start': 11897.655, 'weight': 3, 'content': [{'end': 11907.081, 'text': 'So application annotation based dependency injection is not supported by bean factory whereas application context will support.', 'start': 11897.655, 'duration': 9.426}, {'end': 11908.862, 'text': "Now that's also one of the major differences.", 'start': 11907.101, 'duration': 1.761}, {'end': 11912.383, 'text': 'So some of the benefits of IOC.', 'start': 11909.662, 'duration': 2.721}, {'end': 11919.345, 'text': 'so guys, IOC will minimize the amount of code in application because you will have one XML configuration file.', 'start': 11912.383, 'duration': 6.962}, {'end': 11923.246, 'text': 'so anytime, if you want to change, so you can change the configuration right.', 'start': 11919.345, 'duration': 3.901}, {'end': 11924.446, 'text': "so it's very easy to test.", 'start': 11923.246, 'duration': 1.2}, {'end': 11927.867, 'text': 'our application and coupling can be, you know, reduced.', 'start': 11924.446, 'duration': 3.421}, {'end': 11936.211, 'text': 'so it can be a loose coupling concept which we can promote and hence there will be least intrusive mechanisms with minimal efforts, right?', 'start': 11927.867, 'duration': 8.344}, {'end': 11943.818, 'text': "So IOC containers, they're gonna support eager instantiation and lazy loading kind of services for you.", 'start': 11936.592, 'duration': 7.226}, {'end': 11946.92, 'text': "Let's see now what are spring beans.", 'start': 11944.919, 'duration': 2.001}, {'end': 11949.322, 'text': 'So, guys, a bean is nothing.', 'start': 11947.541, 'duration': 1.781}], 'summary': 'Ioc promotes loose coupling, minimizes code with xml config, and supports eager instantiation and lazy loading of services.', 'duration': 51.667, 'max_score': 11897.655, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc11897655.jpg'}, {'end': 12050.424, 'src': 'embed', 'start': 12018.772, 'weight': 4, 'content': [{'end': 12020.353, 'text': "So I'm going to work on even.", 'start': 12018.772, 'duration': 1.581}, {'end': 12024.844, 'text': 'right. so in my employee.java.', 'start': 12021.482, 'duration': 3.362}, {'end': 12032.25, 'text': "so here in the toString method I'm going to say plus super dot toString right.", 'start': 12024.844, 'duration': 7.406}, {'end': 12039.516, 'text': 'so I put one backslash n and I will say object address super dot two string.', 'start': 12032.25, 'duration': 7.266}, {'end': 12046.521, 'text': "So in my client, when I'm going to run the code, you will also find that, all right, so I think I didn't printed it.", 'start': 12040.016, 'duration': 6.505}, {'end': 12050.424, 'text': "So let's say CISO of AMP one, right?", 'start': 12047.221, 'duration': 3.203}], 'summary': 'Working on overriding tostring method in employee.java for ciso of amp one', 'duration': 31.652, 'max_score': 12018.772, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc12018772.jpg'}], 'start': 10194.878, 'title': 'Spring framework essentials', 'summary': 'Covers spring framework basics, advantages, modules, dependency injection, inversion of control, and object creation. it emphasizes lightweight, layered architecture and supports enterprise application development. it also explains constructing objects using the spring framework and the usage of spring ioc containers like bean factory and application context.', 'chapters': [{'end': 10580.543, 'start': 10194.878, 'title': 'Introduction to spring framework', 'summary': 'Discusses the spring framework, including its basics, advantages, modules, components, and major versions, emphasizing its lightweight, layered architecture, dependency injection, inversion of control, open-source nature, and support for enterprise application development.', 'duration': 385.665, 'highlights': ["Spring Framework is a lightweight, layered architecture with a focus on loose coupling, addressing the complexity of enterprise application development, and providing a cohesive environment for Java EE application development. It's a lightweight framework with a focus on loose coupling and addressing enterprise application complexity, providing a cohesive environment for Java EE application development.", 'Advantages of Spring Framework include layered architecture, dependency injection, inversion of control, and being an open-source community with no licensing. Advantages include layered architecture, dependency injection, inversion of control, and open-source nature, leading to no licensing requirements.', 'The Spring Framework features lightweight, memory optimizations, inversion of control, aspect-oriented programming, built-in container, MVC framework, and transaction management, including JDBC. Features include lightweight nature, memory optimizations, inversion of control, aspect-oriented programming, built-in container, MVC framework, and transaction management with JDBC.', 'The Spring Framework comprises modules such as testing, core container, AOP, data access layer with ORM, and web layer with WebSocket, web frameworks, and servlets. Modules include testing, core container, AOP, data access layer with ORM, and web layer with WebSocket, web frameworks, and servlets.', 'Inversion of control in the Spring Framework involves configuring objects in an XML file, allowing the Spring container to read the configuration and construct the objects. Inversion of control involves configuring objects in an XML file for the Spring container to read and construct.', 'The major versions of the Spring Framework include 2.5, introducing annotation-driven configuration, 3.0 with Java 5 improvements, and 4.0 fully supporting all Java features. Major versions include 2.5 with annotation-driven configuration, 3.0 with Java 5 improvements, and 4.0 fully supporting all Java features.']}, {'end': 10757.92, 'start': 10580.543, 'title': 'Spring framework overview', 'summary': 'Discusses the different ways of using the spring framework, focusing on the core concepts of dependency injection and inversion of control, with an emphasis on how the spring framework constructs objects and manages their lifecycle.', 'duration': 177.377, 'highlights': ['The chapter emphasizes the core concepts of dependency injection and inversion of control in the Spring framework, highlighting that objects are constructed by the Spring framework and their lifecycle is managed by the Inversion of Control (IOC) container.', "It explains the dependency injection technique, illustrating that it fulfills the 'has a' relation between objects and describes how objects should be created without directly connecting components and services in the code.", 'The different ways of dependency injection are outlined, including constructor-based injection, setter injection, and interface injection, providing a comprehensive understanding of how dependency injection can be implemented in the Spring framework.']}, {'end': 11115.893, 'start': 10759.005, 'title': 'Dependency injection in java', 'summary': 'Discusses the concept of dependency injection in java, highlighting the issues of high coupling and the resolution through constructor and setter injection, while also explaining the difference between constructor and setter based dependency resolution and the types of ioc containers in the spring framework.', 'duration': 356.888, 'highlights': ['The chapter explains the issue of high coupling in Java due to the dependency between person and address objects, where the address object is constructed only when the person object is constructed, leading to a high level of dependency.', 'The solution to the high coupling problem is presented through constructor and setter injection, allowing the separate construction of address and person objects, reducing the coupling level and providing flexibility in resolving dependencies.', 'The concept of constructor and setter based dependency resolution is elaborated, highlighting that constructor injection does not allow partial injection, while setter injection enables partial injection and the creation of new instances upon modification.', "The chapter also discusses the two major containers in the Spring framework's IOC layer, namely bean factory and application context, emphasizing the implementation of application context built on top of bean factory, which is recommended over using bean factory alone."]}, {'end': 11338.599, 'start': 11117.193, 'title': 'Java employee class and object creation', 'summary': 'Discusses creating an employee class in java with attributes like employee id, name, salary, department, and email, along with constructor, getters and setters, and tostring method. it also covers creating a client class with the main method and traditional way of creating objects, with example values.', 'duration': 221.406, 'highlights': ['Creating an employee class with attributes like employee ID, name, salary, department, and email, along with constructor, getters and setters, and toString method. attributes like employee ID, name, salary, department, and email', 'Creating a client class with the main method and demonstrating the traditional way of creating objects with example values. example values: name - John, EID - 101, department - RND, salary - 45,000, email - john@example.com']}, {'end': 11542.855, 'start': 11339.019, 'title': 'Constructing objects using spring framework', 'summary': 'Demonstrates the process of constructing objects using the spring framework, including linking jar files, adding external jars, creating an xml configuration file, and configuring object properties with specific values, allowing for the creation of multiple objects in the xml file.', 'duration': 203.836, 'highlights': ['The chapter demonstrates the process of constructing objects using the Spring framework It explains the process of constructing objects using the Spring framework, emphasizing the importance of understanding this method.', 'Linking jar files and adding external jars for the Spring framework The process includes linking and adding external jar files for the Spring framework, with a specific focus on the spring core jars.', 'Creating an XML configuration file in the SRC directory It covers the creation of an XML configuration file in the SRC directory, explaining the structure and placement of the file.', 'Configuring object properties with specific values in the XML file The process involves configuring object properties with specific values, such as eid, name, salary, department, and email, for the creation of multiple objects in the XML file.']}, {'end': 11836.615, 'start': 11542.855, 'title': 'Spring ioc containers overview', 'summary': 'Explains the concept of inversion of control in spring framework, detailing the usage of two spring ioc containers - bean factory and application context, which respectively construct objects upon request and even without request, showcasing the practical differences.', 'duration': 293.76, 'highlights': ['The chapter introduces the concept of inversion of control in the Spring framework, where the Spring container is responsible for object construction, highlighting the usage of two Spring IOC containers - bean factory and application context.', 'The bean factory, as a Spring IOC container, constructs objects when requested, demonstrated by the process of obtaining and casting employee objects from the bean factory.', 'The application context, also a Spring framework container, differs from the bean factory by constructing objects even without explicit requests, showcasing a significant difference in practical environment.']}, {'end': 12070.113, 'start': 11836.955, 'title': 'Introduction to spring framework', 'summary': 'Introduces the concept of inversion of control (ioc) in the spring framework, highlighting differences between bean factory and application context, benefits of ioc, and various scopes supported by the framework with examples and practical demonstrations.', 'duration': 233.158, 'highlights': ['IOC will minimize the amount of code in application because you will have one XML configuration file. Inversion of Control (IOC) minimizes code in the application with one XML configuration file.', 'Application context supports annotation-based dependency injection, which is not supported by bean factory. Application context supports annotation-based dependency injection, a major difference from bean factory.', 'Scope can be defined as single term or prototype, with single term creating only one object for the entire application while prototype creates a new object every time. Scope in Spring Framework can be single term or prototype, defining how objects are created and managed.']}], 'duration': 1875.235, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc10194878.jpg', 'highlights': ['Advantages of Spring Framework include layered architecture, dependency injection, inversion of control, and being an open-source community with no licensing.', 'The Spring Framework features lightweight, memory optimizations, inversion of control, aspect-oriented programming, built-in container, MVC framework, and transaction management, including JDBC.', 'The chapter emphasizes the core concepts of dependency injection and inversion of control in the Spring framework, highlighting that objects are constructed by the Spring framework and their lifecycle is managed by the Inversion of Control (IOC) container.', 'The different ways of dependency injection are outlined, including constructor-based injection, setter injection, and interface injection, providing a comprehensive understanding of how dependency injection can be implemented in the Spring framework.', 'The solution to the high coupling problem is presented through constructor and setter injection, allowing the separate construction of address and person objects, reducing the coupling level and providing flexibility in resolving dependencies.', 'Creating an employee class with attributes like employee ID, name, salary, department, and email, along with constructor, getters and setters, and toString method.', 'The chapter demonstrates the process of constructing objects using the Spring framework, emphasizing the importance of understanding this method.', 'The chapter introduces the concept of inversion of control in the Spring framework, where the Spring container is responsible for object construction, highlighting the usage of two Spring IOC containers - bean factory and application context.', 'Application context supports annotation-based dependency injection, which is not supported by bean factory.', 'Scope can be defined as single term or prototype, with single term creating only one object for the entire application while prototype creates a new object every time.']}, {'end': 13093.048, 'segs': [{'end': 12598.131, 'src': 'embed', 'start': 12569.648, 'weight': 6, 'content': [{'end': 12575.733, 'text': 'So here we got an extreme flexibility, right? But maintenance is a bit difficult part.', 'start': 12569.648, 'duration': 6.085}, {'end': 12581.318, 'text': 'But in declarative part, so transaction management is not a part of your programming.', 'start': 12576.194, 'duration': 5.124}, {'end': 12587.944, 'text': "So it's basically annotations or XML based configuration to manage your transaction.", 'start': 12581.719, 'duration': 6.225}, {'end': 12589.365, 'text': "Now that's the core difference.", 'start': 12587.964, 'duration': 1.401}, {'end': 12593.229, 'text': 'So declarative means either annotation based or XML based.', 'start': 12589.866, 'duration': 3.363}, {'end': 12598.131, 'text': 'So different ORMs are supported by the Spring framework right?', 'start': 12594.048, 'duration': 4.083}], 'summary': 'Spring framework offers extreme flexibility with annotation or xml-based transaction management for different orms.', 'duration': 28.483, 'max_score': 12569.648, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc12569648.jpg'}, {'end': 12706.015, 'src': 'embed', 'start': 12658.765, 'weight': 0, 'content': [{'end': 12666.512, 'text': 'So, guys, an aspect is basically a modularization of a concern that cuts across multiple objects, right?', 'start': 12658.765, 'duration': 7.747}, {'end': 12669.374, 'text': 'So we got a source method and a target method.', 'start': 12666.832, 'duration': 2.542}, {'end': 12676.72, 'text': 'So, when we are going to call the method so this aspect will have one point cut and one.', 'start': 12669.434, 'duration': 7.286}, {'end': 12679.721, 'text': 'So what is this guy concerned?', 'start': 12678.181, 'duration': 1.54}, {'end': 12682.783, 'text': 'So, guys, for example, security is one concern right?', 'start': 12679.741, 'duration': 3.042}, {'end': 12685.705, 'text': "So that's like fulfilled by aspect.", 'start': 12683.143, 'duration': 2.562}, {'end': 12688.746, 'text': "So let's see what is this joint point.", 'start': 12686.405, 'duration': 2.341}, {'end': 12691.608, 'text': 'So when you are going to execute a method.', 'start': 12689.326, 'duration': 2.282}, {'end': 12696.21, 'text': 'so if you can see in the method execution, you got various joint points, right?', 'start': 12691.608, 'duration': 4.602}, {'end': 12703.954, 'text': 'So a point during the execution of program, such as the execution of a matter or handling of any exception, right?', 'start': 12696.53, 'duration': 7.424}, {'end': 12706.015, 'text': 'It is known as a joint point.', 'start': 12704.154, 'duration': 1.861}], 'summary': 'Transcript discusses modularization of concerns, including aspects, joint points, and method execution.', 'duration': 47.25, 'max_score': 12658.765, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc12658765.jpg'}, {'end': 13064.25, 'src': 'embed', 'start': 13022.793, 'weight': 2, 'content': [{'end': 13032.337, 'text': "it will go to the controller and thereafter controller's gonna process the data from the model and then it's gonna give the view back to the user right?", 'start': 13022.793, 'duration': 9.544}, {'end': 13038.3, 'text': "So Spring Controller is going to act as a receptionist now, right where it's gonna handle your requests.", 'start': 13032.637, 'duration': 5.663}, {'end': 13040.981, 'text': "So that's like the whole agenda for the day.", 'start': 13038.9, 'duration': 2.081}, {'end': 13046.423, 'text': "So guys, if you're going to come up with any spring interview, right, you need to follow these topics.", 'start': 13041.021, 'duration': 5.402}, {'end': 13050.264, 'text': 'You need to prepare these topics so that you can crack your interviews.', 'start': 13046.463, 'duration': 3.801}, {'end': 13054.686, 'text': "Right So that's all from my side and Edureka.", 'start': 13050.344, 'duration': 4.342}, {'end': 13059.948, 'text': 'So we wish you all the very best and we hope that you do well in your interviews.', 'start': 13055.026, 'duration': 4.922}, {'end': 13061.549, 'text': 'So thank you very much.', 'start': 13060.408, 'duration': 1.141}, {'end': 13064.25, 'text': 'Keep watching us and keep reviewing us.', 'start': 13061.689, 'duration': 2.561}], 'summary': 'Spring controller processes data from model and handles user requests.', 'duration': 41.457, 'max_score': 13022.793, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc13022793.jpg'}], 'start': 12071.153, 'title': 'Spring framework overview and aop implementations', 'summary': 'Covers spring framework key concepts like spring jdbc api, hibernate integration, and aop, along with aop implementations such as spring aop, apache aspectj, and jboss aop, illustrating their differences and the architecture of spring mvc framework.', 'chapters': [{'end': 12500.509, 'start': 12071.153, 'title': 'Spring framework: bean lifecycle and annotations', 'summary': 'Discusses the bean lifecycle, bean wiring, different modes of wiring, spring annotations, and data access support within the spring framework, covering key concepts such as bean instantiation, property population, post processors, inner beans, bean wiring modes, limitations of auto-wiring, annotation-based configurations, and data access technologies.', 'duration': 429.356, 'highlights': ['The chapter discusses the bean lifecycle, covering key concepts such as bean instantiation, property population, post processors, inner beans, and custom initialization and destruction methods. bean lifecycle stages', 'The chapter explains the bean wiring process within the Spring container, including different modes of wiring such as by number, by name, by type, constructor, and auto-detect. modes of bean wiring', 'The chapter describes the different annotations used in the Spring framework, including component, controller, repository, service, required, auto-wired, and qualifier annotations. annotation types', 'The chapter covers the data access support in the Spring framework, emphasizing its ease of use with data access technologies like Hibernate, Abatis, JDBC, and JDO, and the handling of data access exceptions. data access technologies supported']}, {'end': 12820.777, 'start': 12501.23, 'title': 'Spring framework overview', 'summary': 'Covers key concepts of spring framework, including spring jdbc api, hibernate integration, transaction management, supported orms, and spring aop, explaining aspects, joint points, and different advices.', 'duration': 319.547, 'highlights': ['Spring AOP and its components AOP allows modularization of cross-cutting concerns, encapsulating behaviors into reusable modules, with aspects, joint points, and different advices like before, after, and around method execution.', 'Declarative vs Programmatic transaction management Spring supports both programmatic and declarative transaction management, providing extreme flexibility in programmatic management but easier maintenance and configuration in declarative management.', 'Supported ORMs in Spring Framework The Spring framework supports major ORMs like Hibernate, Ibatis, and JPA, enabling object relationship mapping and integration with various databases.', 'Different types of classes in Spring JDBC API Spring JDBC API includes classes like JDBC template, simple JDBC template, and named parameter JDBC template, essential for database operations.']}, {'end': 13093.048, 'start': 12821.517, 'title': 'Aop implementations and spring mvc overview', 'summary': 'Discusses the different aop implementations such as spring aop, apache aspect j, and jboss aop, focusing on the differences between spring aop and aspectj aop, the concept of weaving through proxy, and the components and architecture of spring mvc framework for developing flexible and loosely coupled web applications.', 'duration': 271.531, 'highlights': ['Spring AOP, Apache Aspect J, and JBoss AOP are the various AOP implementations available in the market. The chapter introduces the different AOP implementations available in the market, including Spring AOP, Apache Aspect J, and JBoss AOP.', 'Spring AOP supports only method level point cut, whereas AspectJ AOP allows field level point cuts as well. It is explained that Spring AOP supports method level point cut, while AspectJ AOP enables the inclusion of field level point cuts, showcasing a difference between the two implementations.', 'Weaving through proxy in Spring AOP and weaving through Aspect J within the Java tools are highlighted as key differentiators. The concept of weaving through proxy in Spring AOP and weaving through Aspect J within the Java tools is elaborated, emphasizing the distinction between the two approaches.', 'Spring MVC framework is designed around the dispatcher servlet and helps in developing flexible and loosely coupled web applications. The chapter provides an overview of the Spring MVC framework, emphasizing its design around the dispatcher servlet and its role in developing flexible and loosely coupled web applications.', 'The components of Spring MVC framework, including dispatcher servlet, web application context, and controller, are explained in detail. The detailed explanation of components such as dispatcher servlet, web application context, and controller within the Spring MVC framework is provided, highlighting their respective functionalities and roles.']}], 'duration': 1021.895, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/VvGjZgqojMc/pics/VvGjZgqojMc12071153.jpg', 'highlights': ['The chapter covers the bean lifecycle stages and bean wiring modes.', 'Spring AOP allows modularization of cross-cutting concerns with aspects and advices.', 'Spring supports both programmatic and declarative transaction management.', 'The Spring framework supports major ORMs like Hibernate, Ibatis, and JPA.', 'The chapter introduces different AOP implementations like Spring AOP, Apache Aspect J, and JBoss AOP.', 'Spring AOP supports method level point cut, while AspectJ AOP enables field level point cuts.', 'The concept of weaving through proxy in Spring AOP and weaving through Aspect J is explained.', 'The Spring MVC framework is designed around the dispatcher servlet for flexible web applications.']}], 'highlights': ['Spring Framework reduces overall application development time by 40%', 'Spring MVC is one of the most in-demand frameworks in India, with approximately 3000 job openings', 'Spring Source was purchased by BMW for approximately $420 million in 2009', 'Spring Framework showed a significant increase in market dominance from 2012 to 2016', 'Spring Framework is a powerful, lightweight application development framework and one of the most popular Java-based frameworks for enterprise Java application development', 'Spring Framework emphasizes simplicity, testability, and loose coupling', 'Spring Framework ecosystem comprises web layer, common layer, service layer, and data layer, promoting loose coupling with runtime polymorphism', 'Spring AOP modularizes concerns like transaction management', 'Dependency injection makes programming code loosely coupled, ensuring that any change in the implementation of one will not affect the other', 'Spring AOP supports method level point cut, while AspectJ AOP enables field level point cuts']}