title
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework Training | Edureka

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

detail
{'title': 'Spring Interview Questions and Answers | Spring Tutorial | Spring Framework Training | Edureka', 'heatmap': [{'end': 1938.488, 'start': 1897.467, 'weight': 0.797}, {'end': 2091.534, 'start': 2050.728, 'weight': 0.72}, {'end': 2211.635, 'start': 2115.01, 'weight': 0.933}, {'end': 2336.92, 'start': 2268.342, 'weight': 0.814}], 'summary': 'Discusses the dominance of spring framework in the market, its overview, usage in oop, and configuration, covering its history, acquisition by bmw, increased market share, job trends in india and the us, with approximate job openings of 6000 in the us and 3000 in india, layered architecture, key components, major versions, advantages, dependency resolution, configuring spring framework, creation of a java project, understanding spring beans, annotations, aop implementations, and spring mvc framework.', 'chapters': [{'end': 151.693, 'segs': [{'end': 75.877, 'src': 'embed', 'start': 24.424, 'weight': 0, 'content': [{'end': 29.508, 'text': 'So what exactly is basically the Spring Framework in the market?', 'start': 24.424, 'duration': 5.084}, {'end': 31.409, 'text': "So let's have a look on to first right?", 'start': 29.548, 'duration': 1.861}, {'end': 36.773, 'text': 'So, guys, Spring Source was the company created by the founders of the Spring Framework right?', 'start': 31.929, 'duration': 4.844}, {'end': 42.657, 'text': 'And it merged into Covalent in January 29, 2008..', 'start': 36.873, 'duration': 5.784}, {'end': 49.061, 'text': 'So Spring Source was purchased by BMW for approximately $420 million in 2009,, right?', 'start': 42.657, 'duration': 6.404}, {'end': 52.503, 'text': 'So this is something where we are trying to come up with some history.', 'start': 49.461, 'duration': 3.042}, {'end': 58.146, 'text': "So Spring's dominance over the years has increased right?", 'start': 53.143, 'duration': 5.003}, {'end': 66.831, 'text': 'And it basically is having one monopoly in the field of web frameworks, specifically in Java Enterprise Edition.', 'start': 58.326, 'duration': 8.505}, {'end': 69.613, 'text': 'So Spring Framework plays one important role.', 'start': 67.232, 'duration': 2.381}, {'end': 75.877, 'text': 'So you can see a significant increase from 2012 to 2016 in the market right?', 'start': 69.933, 'duration': 5.944}], 'summary': "Spring framework's market dominance grew, valued at $420m by bmw in 2009.", 'duration': 51.453, 'max_score': 24.424, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM24424.jpg'}, {'end': 151.693, 'src': 'embed', 'start': 98.61, 'weight': 2, 'content': [{'end': 106.693, 'text': 'and if you can see various job portals, so an approximate average is nearly 3000, right.', 'start': 98.61, 'duration': 8.083}, {'end': 109.774, 'text': 'so in a similar way, we got the trends in us as well, right.', 'start': 106.693, 'duration': 3.081}, {'end': 110.734, 'text': 'so again.', 'start': 109.774, 'duration': 0.96}, {'end': 114.535, 'text': 'so us is approximately on an average level of 6000, right.', 'start': 110.734, 'duration': 3.801}, {'end': 125.631, 'text': 'so We are trying to come up and show you guys that Spring Framework is really into the market and we got a lot of job openings available into the Spring Framework.', 'start': 114.535, 'duration': 11.096}, {'end': 129.275, 'text': 'So this data is approximately 18 May 2017.', 'start': 125.651, 'duration': 3.624}, {'end': 133.059, 'text': 'So again, if you can see some more trends coming in.', 'start': 129.275, 'duration': 3.784}, {'end': 137.323, 'text': 'So we got the permanent jobs versus the contract jobs right?', 'start': 133.519, 'duration': 3.804}, {'end': 140.005, 'text': "So the graph is rising, so it's not falling off right?", 'start': 137.343, 'duration': 2.662}, {'end': 142.508, 'text': 'So as the years increase, right?', 'start': 140.466, 'duration': 2.042}, {'end': 145.57, 'text': 'So this graph is constantly going up right?', 'start': 142.548, 'duration': 3.022}, {'end': 146.731, 'text': "It's not coming down.", 'start': 145.65, 'duration': 1.081}, {'end': 151.693, 'text': 'So again, the data we have taken from the various job portals.', 'start': 147.412, 'duration': 4.281}], 'summary': 'Approximately 3000 job openings for spring framework, with us at 6000, showing upward trend in job opportunities.', 'duration': 53.083, 'max_score': 98.61, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM98610.jpg'}], 'start': 0.109, 'title': 'Spring framework dominance', 'summary': 'Discusses the dominance of spring framework in the market, including its history, acquisition by bmw, increased market share from 2012 to 2016, job trends in india and the us, and the rise in permanent and contract job opportunities, with approximate job openings of 6000 in the us and 3000 in india.', 'chapters': [{'end': 151.693, 'start': 0.109, 'title': 'Spring framework market dominance', 'summary': 'Discusses the dominance of spring framework in the market, including its history, acquisition by bmw, increased market share from 2012 to 2016, job trends in india and the us, and the rise in permanent and contract job opportunities, with approximate job openings of 6000 in the us and 3000 in india.', 'duration': 151.584, 'highlights': ["Spring Source was purchased by BMW for approximately $420 million in 2009, indicating the framework's significant market value.", "The Spring Framework's dominance over the years has increased, particularly in the field of web frameworks, with a significant market share surge from 2012 to 2016.", 'Job trends show a high demand for Spring Framework, with approximately 3000 job openings in India and an average of 6000 in the US, as of 18 May 2017.', 'The graph depicting permanent and contract job trends for Spring Framework is consistently rising as the years progress, indicating a growing job market for the framework.']}], 'duration': 151.584, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM109.jpg', 'highlights': ["Spring Source was purchased by BMW for approximately $420 million in 2009, indicating the framework's significant market value.", "The Spring Framework's dominance over the years has increased, particularly in the field of web frameworks, with a significant market share surge from 2012 to 2016.", 'Job trends show a high demand for Spring Framework, with approximately 3000 job openings in India and an average of 6000 in the US, as of 18 May 2017.', 'The graph depicting permanent and contract job trends for Spring Framework is consistently rising as the years progress, indicating a growing job market for the framework.']}, {'end': 538.393, 'segs': [{'end': 300.772, 'src': 'embed', 'start': 257.44, 'weight': 1, 'content': [{'end': 260.265, 'text': "So let's see the advantages of spring framework right?", 'start': 257.44, 'duration': 2.825}, {'end': 264.731, 'text': 'So what can be the various advantages if you want to come up with a spring framework?', 'start': 260.305, 'duration': 4.426}, {'end': 266.754, 'text': "So number one, it's a layered architecture.", 'start': 265.032, 'duration': 1.722}, {'end': 272.542, 'text': "So here we got being model or Tojo that's like plain old Java object based programming.", 'start': 267.235, 'duration': 5.307}, {'end': 277.166, 'text': 'then there are two powerful features in the core layer of spring framework.', 'start': 273.303, 'duration': 3.863}, {'end': 280.629, 'text': "that's like dependency injection and inversion of control.", 'start': 277.166, 'duration': 3.463}, {'end': 284.812, 'text': "so we don't have the control in the hands of our program.", 'start': 280.629, 'duration': 4.183}, {'end': 290.717, 'text': 'so this object, they will be created by the spring container right.', 'start': 284.812, 'duration': 5.905}, {'end': 297.803, 'text': "so inversion of control means you don't create the objects, you configure the objects and objects will be constructed by the spring framework.", 'start': 290.717, 'duration': 7.086}, {'end': 300.772, 'text': "So again it's an open source community.", 'start': 298.191, 'duration': 2.581}], 'summary': 'Spring framework offers advantages like layered architecture, dependency injection, and being open source.', 'duration': 43.332, 'max_score': 257.44, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM257440.jpg'}, {'end': 516.727, 'src': 'embed', 'start': 488.216, 'weight': 0, 'content': [{'end': 497.061, 'text': "and we need to have a client program where we gonna use our spring container and we'll be using the objects constructed by it.", 'start': 488.216, 'duration': 8.845}, {'end': 502.625, 'text': "So that's like some various components of any spring application.", 'start': 497.461, 'duration': 5.164}, {'end': 507.146, 'text': 'So what are the major versions for the spring framework?', 'start': 503.525, 'duration': 3.621}, {'end': 509.326, 'text': 'So, guys, we got 2.5,, right?', 'start': 507.166, 'duration': 2.16}, {'end': 514.707, 'text': 'So this guy is, you know, having annotation driven configuration right?', 'start': 509.406, 'duration': 5.301}, {'end': 516.727, 'text': 'So which is possible in this 2.5..', 'start': 514.767, 'duration': 1.96}], 'summary': 'Using spring 2.5 for client program with annotation-driven configuration.', 'duration': 28.511, 'max_score': 488.216, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM488216.jpg'}], 'start': 152.333, 'title': 'Spring framework overview', 'summary': 'Provides an overview of the spring framework, discussing its layered architecture, key components, modules, and the major versions 4.0, 3.0, and 2.5 with their respective features and enhancements. it also covers its advantages like being a lightweight framework with open source community support.', 'chapters': [{'end': 322.942, 'start': 152.333, 'title': 'Introduction to spring framework', 'summary': 'Discusses the introduction to spring framework, covering its key components such as dependency injection, inversion of control, and advantages like being a lightweight framework with open source community support and layered architecture.', 'duration': 170.609, 'highlights': ['Spring Framework is a lightweight framework focusing on loose coupling and addressing the complexity of enterprise application development. It is a lightweight framework that focuses on loose coupling and addresses the complexity of enterprise application development, making it suitable for enterprise-level applications.', 'Advantages of Spring framework include layered architecture, dependency injection, inversion of control, and being an open source community. The advantages of the Spring framework include layered architecture, dependency injection, inversion of control, and being an open source community, providing memory optimizations and control of object construction to destruction.', "Inversion of control means objects are configured and constructed by the Spring framework, leading to memory optimizations and control of object construction. Inversion of control means objects are configured and constructed by the Spring framework, leading to memory optimizations and control of object construction to destruction, which enhances the application's performance and efficiency."]}, {'end': 538.393, 'start': 323.002, 'title': 'Spring framework overview', 'summary': 'Provides an overview of the spring framework, discussing its layered architecture, key components, modules, and the major versions 4.0, 3.0, and 2.5 with their respective features and enhancements.', 'duration': 215.391, 'highlights': ['The Spring framework is a layered architecture consisting of components like testing, core container, AOP, data access layer, web layer, and configuration file. The Spring framework is a layered architecture comprising testing, core container, AOP, data access layer, web layer, and configuration file, enabling various functionalities and interactions among the layers.', 'The major versions of the Spring framework are 4.0, 3.0, and 2.5, each introducing significant features and enhancements, such as annotation-driven configuration, Java 5 improvements, and full Java feature support. The major versions of the Spring framework, including 4.0, 3.0, and 2.5, bring notable features and enhancements like annotation-driven configuration, Java 5 improvements, and full Java feature support.', 'Aspect-oriented programming (AOP) and the Spring configuration file (XML) play crucial roles in the Spring framework, along with client programs using the Spring container and its constructed objects. Aspect-oriented programming (AOP) and the Spring configuration file (XML) are essential components, while client programs utilize the Spring container and its constructed objects.']}], 'duration': 386.06, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM152333.jpg', 'highlights': ['The major versions of the Spring framework are 4.0, 3.0, and 2.5, each introducing significant features and enhancements, such as annotation-driven configuration, Java 5 improvements, and full Java feature support.', 'Advantages of Spring framework include layered architecture, dependency injection, inversion of control, and being an open source community, providing memory optimizations and control of object construction to destruction.', 'The Spring framework is a layered architecture consisting of components like testing, core container, AOP, data access layer, web layer, and configuration file.', "Inversion of control means objects are configured and constructed by the Spring framework, leading to memory optimizations and control of object construction to destruction, which enhances the application's performance and efficiency."]}, {'end': 1050.349, 'segs': [{'end': 590.046, 'src': 'embed', 'start': 538.933, 'weight': 0, 'content': [{'end': 545.916, 'text': 'So what are the various ways how we can use this Spring Framework, right? So the different ways of using the Spring Framework.', 'start': 538.933, 'duration': 6.983}, {'end': 551.918, 'text': "So we can have full-fledged Spring web application that's like through model view controller.", 'start': 546.296, 'duration': 5.622}, {'end': 559.021, 'text': 'We can have a middle tier that can provide the help of a third party web framework.', 'start': 552.198, 'duration': 6.823}, {'end': 564.565, 'text': 'then we can use it if we are supposed to do any remote invocations.', 'start': 559.021, 'duration': 5.544}, {'end': 571.23, 'text': 'Then we got enterprise Java bins, so wrapping up the existing plain old Java objects.', 'start': 565.026, 'duration': 6.204}, {'end': 577.054, 'text': "So that's like some of the different ways in which we can come up with a Spring framework.", 'start': 571.65, 'duration': 5.404}, {'end': 581.902, 'text': "So let's now focus on the core part of the spring framework.", 'start': 578.001, 'duration': 3.901}, {'end': 586.384, 'text': "That's like dependency injection and inversion of control, right?", 'start': 582.023, 'duration': 4.361}, {'end': 590.046, 'text': 'So what exactly is this IOC?', 'start': 587.044, 'duration': 3.002}], 'summary': 'Spring framework can be used in various ways such as for web applications, middle tier, remote invocations, and enterprise java beans, with a focus on dependency injection and inversion of control.', 'duration': 51.113, 'max_score': 538.933, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM538933.jpg'}, {'end': 671.959, 'src': 'embed', 'start': 645.592, 'weight': 2, 'content': [{'end': 650.133, 'text': 'we can come up with this dependency injection technique where we can fulfill this criteria right?', 'start': 645.592, 'duration': 4.541}, {'end': 654.054, 'text': 'So it is basically for has a relation which has to be fulfilled.', 'start': 650.173, 'duration': 3.881}, {'end': 664.157, 'text': "So what do you mean by dependency injection? So guys, DI over here means that we don't create objects, but describe how they should be created.", 'start': 654.714, 'duration': 9.443}, {'end': 671.959, 'text': "Now that's like the basic inversion of control feature, right? So we don't directly connect the components and services in the code.", 'start': 664.197, 'duration': 7.762}], 'summary': 'Dependency injection provides a way to fulfill has-a relations by describing object creation, a basic inversion of control feature.', 'duration': 26.367, 'max_score': 645.592, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM645592.jpg'}, {'end': 962.432, 'src': 'embed', 'start': 937.559, 'weight': 4, 'content': [{'end': 945.425, 'text': 'So we call this as dependency, and here we have resolved the problem of high coupling.', 'start': 937.559, 'duration': 7.866}, {'end': 953.892, 'text': 'we have reduced the coupling level and we call it like we have solved one problem where dependency was very high.', 'start': 945.425, 'duration': 8.467}, {'end': 958.428, 'text': "So let's now proceed and understand.", 'start': 955.225, 'duration': 3.203}, {'end': 962.432, 'text': 'So either you can do it by constructor or setter or you can even do it through interfaces.', 'start': 958.468, 'duration': 3.964}], 'summary': 'Reduced high dependency coupling, offering solutions through constructor, setter, or interfaces.', 'duration': 24.873, 'max_score': 937.559, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM937559.jpg'}, {'end': 1009.62, 'src': 'embed', 'start': 984.587, 'weight': 3, 'content': [{'end': 990.108, 'text': 'So in constructor there is no partial injection, but in setter you can do a partial injection right?', 'start': 984.587, 'duration': 5.521}, {'end': 996.51, 'text': "So here we don't overwrite the setter property, but here you need to come up with the setter property defined variable.", 'start': 990.648, 'duration': 5.862}, {'end': 1000.994, 'text': 'So it will create new instances if any modification is done.', 'start': 997.392, 'duration': 3.602}, {'end': 1004.517, 'text': "So here you can't come up without an object.", 'start': 1001.375, 'duration': 3.142}, {'end': 1006.098, 'text': 'So you need an object for sure.', 'start': 1004.637, 'duration': 1.461}, {'end': 1009.62, 'text': 'But here you can skip that and you can do it later.', 'start': 1006.478, 'duration': 3.142}], 'summary': 'Setter allows partial injection, constructor does not. new instances created on modification.', 'duration': 25.033, 'max_score': 984.587, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM984587.jpg'}], 'start': 538.933, 'title': 'Spring framework usage and dependency resolution in oop', 'summary': 'Covers the usage of spring framework for web applications, middle tier integration, remote invocations, and enterprise java beans. it also explains core features such as dependency injection, inversion of control, and dependency resolution in object-oriented programming, addressing high coupling issues and the types of ioc containers in the spring framework.', 'chapters': [{'end': 714.57, 'start': 538.933, 'title': 'Spring framework usage and core features', 'summary': 'Discusses the various ways to use the spring framework, including creating full-fledged web applications, middle tier integration, remote invocations, and enterprise java beans, and then delves into the core features of dependency injection and inversion of control, explaining how they are implemented and the different ways dependency injection can be performed.', 'duration': 175.637, 'highlights': ['The chapter discusses various ways to use the Spring Framework including full-fledged web applications, middle tier integration, remote invocations, and enterprise Java beans. The Spring Framework can be used in various ways, including creating full-fledged web applications and integrating with middle tier and enterprise Java beans.', "The chapter delves into the core features of dependency injection and inversion of control (IOC), explaining how IOC means that objects are constructed by the Spring framework and managed by the IOC container, and how dependency injection fulfills criteria such as 'has a' relationship between objects. The core features of the Spring Framework, such as dependency injection and inversion of control, are explained, highlighting how IOC involves object construction and management, and how dependency injection fulfills object relationship criteria.", 'The chapter explains that dependency injection (DI) means not creating objects, but describing how they should be created, and discusses the three different ways of performing dependency injection: constructor-based injection, setter injection, and interface injection. The concept of dependency injection is elaborated, emphasizing that it involves describing how objects should be created, and outlining the three methods of performing dependency injection.']}, {'end': 1050.349, 'start': 715.59, 'title': 'Dependency resolution in oop', 'summary': 'Discusses the concept of dependency resolution in object-oriented programming, highlighting the issues with high coupling and the solutions through constructor and setter injection, as well as the types of ioc containers in the spring framework.', 'duration': 334.759, 'highlights': ['The chapter explains the concept of dependency resolution in object-oriented programming, addressing the issues of high coupling and providing solutions through constructor and setter injection to reduce the coupling level. It also highlights the types of IOC containers in the Spring Framework, namely application context and Bean Factory, emphasizing the preference for application context over Bean Factory.', 'The chapter compares and contrasts constructor and setter-based dependency resolution, highlighting that setter injection allows partial injection and the creation of new instances if any modification is done, while constructor injection does not allow partial injection and requires an object for sure. It also emphasizes the flexibility of using interfaces in programs to achieve polymorphic concepts and runtime logics.', 'The chapter emphasizes the need to resolve the dependency issue in OOP, presenting the concept of constructor and setter injection as effective solutions to reduce high coupling. It also discusses the types of IOC containers in the Spring Framework, distinguishing between application context and Bean Factory.']}], 'duration': 511.416, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM538933.jpg', 'highlights': ['The Spring Framework can be used in various ways, including creating full-fledged web applications and integrating with middle tier and enterprise Java beans.', 'The core features of the Spring Framework, such as dependency injection and inversion of control, are explained, highlighting how IOC involves object construction and management, and how dependency injection fulfills object relationship criteria.', 'The concept of dependency injection is elaborated, emphasizing that it involves describing how objects should be created, and outlining the three methods of performing dependency injection.', 'The chapter compares and contrasts constructor and setter-based dependency resolution, highlighting that setter injection allows partial injection and the creation of new instances if any modification is done, while constructor injection does not allow partial injection and requires an object for sure.', 'The chapter emphasizes the need to resolve the dependency issue in OOP, presenting the concept of constructor and setter injection as effective solutions to reduce high coupling.']}, {'end': 2040.424, 'segs': [{'end': 1142.784, 'src': 'embed', 'start': 1107.295, 'weight': 1, 'content': [{'end': 1109.837, 'text': "So that's like the attributes.", 'start': 1107.295, 'duration': 2.542}, {'end': 1117.601, 'text': 'Then we can have a name of the employee.', 'start': 1114.8, 'duration': 2.801}, {'end': 1123.165, 'text': 'I can have some salary associated with the employee.', 'start': 1118.962, 'duration': 4.203}, {'end': 1127.107, 'text': "Let's say we got department for the employee.", 'start': 1123.425, 'duration': 3.682}, {'end': 1132.15, 'text': "And finally, if you want, you can have, let's say, an email.", 'start': 1127.827, 'duration': 4.323}, {'end': 1135.774, 'text': 'So we can have a lot of attributes.', 'start': 1134.312, 'duration': 1.462}, {'end': 1138.718, 'text': 'So these are a few of the attributes which I have taken.', 'start': 1135.794, 'duration': 2.924}, {'end': 1141.021, 'text': 'Now we can create one constructor.', 'start': 1139.279, 'duration': 1.742}, {'end': 1142.784, 'text': "So let's write one constructor.", 'start': 1141.102, 'duration': 1.682}], 'summary': 'Attributes include employee name, salary, department; can also include email. constructor to be written.', 'duration': 35.489, 'max_score': 1107.295, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM1107295.jpg'}, {'end': 1686.349, 'src': 'embed', 'start': 1656.077, 'weight': 3, 'content': [{'end': 1662.961, 'text': "now, when I'm going to run the code right, so you can see employee object constructed, only one object is constructed right.", 'start': 1656.077, 'duration': 6.884}, {'end': 1672.186, 'text': 'so if you try to get the second guy, as in E2, and when you run the code again, you will find that both the objects are constructed.', 'start': 1662.961, 'duration': 9.225}, {'end': 1682.228, 'text': 'So bean factory, what it is doing? It constructs the objects when we request.', 'start': 1672.266, 'duration': 9.962}, {'end': 1686.349, 'text': "That's like the spring IOC container bean factory.", 'start': 1683.088, 'duration': 3.261}], 'summary': 'Bean factory constructs objects on request in spring ioc container.', 'duration': 30.272, 'max_score': 1656.077, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM1656077.jpg'}, {'end': 1858.505, 'src': 'embed', 'start': 1818.099, 'weight': 0, 'content': [{'end': 1822.883, 'text': "That's like one practical example, how we are able to demonstrate both the concepts.", 'start': 1818.099, 'duration': 4.784}, {'end': 1826.606, 'text': "so let's see more of the differences between both of them.", 'start': 1823.343, 'duration': 3.263}, {'end': 1829.308, 'text': 'so that was a quick introduction to the spring framework.', 'start': 1826.606, 'duration': 2.702}, {'end': 1832.39, 'text': 'right, what is inversion of control?', 'start': 1829.308, 'duration': 3.082}, {'end': 1835.293, 'text': 'so guys, being packed in application context.', 'start': 1832.39, 'duration': 2.903}, {'end': 1840.397, 'text': 'so here we got lazy initialization and there we got aggressive initialization.', 'start': 1835.293, 'duration': 5.104}, {'end': 1844.02, 'text': 'now that relevant concept, I think, is very well clear, whatever we have demonstrated.', 'start': 1840.397, 'duration': 3.623}, {'end': 1853.283, 'text': 'So in BeanFactory explicitly provided a resource object using the syntax where here every resources are managed by its own.', 'start': 1844.66, 'duration': 8.623}, {'end': 1858.505, 'text': 'So internationalization is not supported in BeanFactory whereas application context does.', 'start': 1853.704, 'duration': 4.801}], 'summary': 'Introduction to spring framework, covering concepts like inversion of control, lazy initialization, aggressive initialization, and differences between beanfactory and application context.', 'duration': 40.406, 'max_score': 1818.099, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM1818099.jpg'}, {'end': 1938.488, 'src': 'heatmap', 'start': 1897.467, 'weight': 0.797, 'content': [{'end': 1904.711, 'text': "So IOC containers, they're gonna support eager instantiation and lazy loading kind of services for you.", 'start': 1897.467, 'duration': 7.244}, {'end': 1907.813, 'text': "Let's see now what are spring beans.", 'start': 1905.812, 'duration': 2.001}, {'end': 1910.214, 'text': 'So, guys, a bean is nothing.', 'start': 1908.433, 'duration': 1.781}, {'end': 1913.516, 'text': "it's your Java object, which we have seen already in our program, right?", 'start': 1910.214, 'duration': 3.302}, {'end': 1918.259, 'text': 'So the metadata is provided in the XML file container will create an object for you.', 'start': 1913.797, 'duration': 4.462}, {'end': 1920.581, 'text': "So that's like your basic bean object.", 'start': 1918.459, 'duration': 2.122}, {'end': 1924.722, 'text': 'So this configuration metadata can be given in an XML file.', 'start': 1921.141, 'duration': 3.581}, {'end': 1931.845, 'text': 'It can also be supplied through an annotation based configuration or it can be even a Java based configuration.', 'start': 1925.103, 'duration': 6.742}, {'end': 1938.488, 'text': 'So there are three main models how you can configure your objects as in your IOC concept.', 'start': 1931.865, 'duration': 6.623}], 'summary': 'Ioc containers support eager instantiation and lazy loading of services. spring beans are java objects with metadata provided in xml, annotation-based, or java-based configurations.', 'duration': 41.021, 'max_score': 1897.467, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM1897467.jpg'}], 'start': 1050.709, 'title': 'Configuring spring framework', 'summary': 'Covers the creation of a java project, development of an employee class, and the need to understand object construction using the spring framework. it also explains configuring spring framework, highlighting the structure of the configuration file and the concept of inversion of control through bean factory and application context. additionally, it provides an overview of spring framework concepts, including ioc, bean scopes, and object configuration.', 'chapters': [{'end': 1311.332, 'start': 1050.709, 'title': 'Bean factory vs application context', 'summary': 'Discusses the creation of a java project and the development of an employee class with attributes, constructor, getters, setters, and tostring method, followed by a client class to demonstrate traditional object creation and the need to understand object construction using the spring framework.', 'duration': 260.623, 'highlights': ['The chapter discusses the creation of a Java project and the development of an employee class with attributes, constructor, getters, setters, and toString method Demonstrates the process of creating a Java project and building an employee class with various components.', 'The chapter explains the traditional way of creating objects using the client class and general object construction Illustrates the traditional method of object creation and provides an example of constructing an object in Java.', 'Highlights the need to understand how objects are constructed using the Spring framework Emphasizes the importance of comprehending object construction within the Spring framework for efficient development.']}, {'end': 1512.305, 'start': 1311.633, 'title': 'Configuring spring framework', 'summary': 'Explains how to configure the spring framework by adding jar files, creating an xml configuration file with specified properties and values, and understanding the structure of the configuration file.', 'duration': 200.672, 'highlights': ["The chapter describes the process of adding spring jar files to the build path, including the steps of right-clicking, selecting 'build path', configuring the build path, and adding external jars.", "It explains the structure of the XML configuration file, including the root tag 'beans', the 'bean' tag with id and class attributes, and the properties like EID, name, salary, department, and email, along with their respective values.", 'The detailed steps for configuring the XML file are highlighted, such as adding the employee bean dot XML to the SRC directory, providing fully qualified class names, unique IDs, and property values like name, salary, department, and email for each object.', 'The importance of having a POJO class, a configuration file, jar files, and a client class for testing the Spring project is emphasized as essential components of the Spring framework configuration.']}, {'end': 1797.502, 'start': 1513.763, 'title': 'Spring ioc containers: bean factory vs application context', 'summary': 'Explains the concept of inversion of control in spring framework through the usage of two ioc containers - bean factory and application context, highlighting their differences in object construction behavior and usage.', 'duration': 283.739, 'highlights': ["Bean Factory constructs objects only when requested, while Application Context constructs objects even without request. Bean Factory constructs objects when requested, demonstrated by constructing objects when 'getBean' method is called, whereas Application Context constructs objects even without request, as observed in the code execution.", "Application Context differs from Bean Factory in its behavior of object construction, demonstrating the practical difference between the two IOC containers. Application Context's behavior of constructing objects even without request is a significant practical difference from Bean Factory, as demonstrated in the code execution.", 'Usage of typecasting and mentioning type in Application Context for object retrieval. In Application Context, typecasting and mentioning the type during object retrieval is demonstrated, providing a different approach compared to Bean Factory.']}, {'end': 2040.424, 'start': 1797.842, 'title': 'Spring framework concepts', 'summary': 'Provides an overview of the spring framework, covering concepts such as inversion of control (ioc), beanfactory vs application context, benefits of ioc in minimizing code and promoting loose coupling, support for eager instantiation and lazy loading, and the various ways to configure objects in ioc. it also delves into the concept of bean scopes and demonstrates the difference between singleton and prototype scopes through a practical example.', 'duration': 242.582, 'highlights': ['The chapter provides an overview of the Spring framework, covering concepts such as Inversion of Control (IOC), BeanFactory vs Application Context, benefits of IOC in minimizing code and promoting loose coupling, support for eager instantiation and lazy loading, and the various ways to configure objects in IOC. Inversion of Control (IOC), BeanFactory vs Application Context, benefits of IOC in minimizing code and promoting loose coupling, support for eager instantiation and lazy loading, various ways to configure objects in IOC.', 'The chapter explains the difference between BeanFactory and Application Context, highlighting that Application Context supports features like lazy initialization, aggressive initialization, and internationalization, which are not supported in BeanFactory. Application Context supports lazy initialization, aggressive initialization, and internationalization, which are not supported in BeanFactory.', 'The chapter discusses the benefits of IOC, emphasizing that it minimizes the amount of code in the application, promotes loose coupling, and supports least intrusive mechanisms with minimal efforts. It also mentions that IOC containers support eager instantiation and lazy loading of services. IOC minimizes code in the application, promotes loose coupling, supports least intrusive mechanisms, and IOC containers support eager instantiation and lazy loading of services.', 'The chapter provides an explanation of Spring beans, defining them as Java objects with metadata provided in an XML file. It also outlines the three main models for configuring objects in the IOC concept. Spring beans are Java objects with metadata provided in an XML file, and there are three main models for configuring objects in the IOC concept.', 'The chapter delves into the concept of bean scopes, explaining the meaning of scope and demonstrating the difference between singleton and prototype scopes through a practical example. Explanation of bean scopes, demonstration of difference between singleton and prototype scopes through a practical example.']}], 'duration': 989.715, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM1050709.jpg', 'highlights': ['The chapter provides an overview of the Spring framework, covering concepts such as Inversion of Control (IOC), BeanFactory vs Application Context, benefits of IOC in minimizing code and promoting loose coupling, support for eager instantiation and lazy loading, and the various ways to configure objects in IOC.', 'The chapter discusses the creation of a Java project and the development of an employee class with attributes, constructor, getters, setters, and toString method Demonstrates the process of creating a Java project and building an employee class with various components.', 'The chapter explains the difference between BeanFactory and Application Context, highlighting that Application Context supports features like lazy initialization, aggressive initialization, and internationalization, which are not supported in BeanFactory.', "Bean Factory constructs objects only when requested, while Application Context constructs objects even without request. Bean Factory constructs objects when requested, demonstrated by constructing objects when 'getBean' method is called, whereas Application Context constructs objects even without request, as observed in the code execution."]}, {'end': 3049.323, 'segs': [{'end': 2093.835, 'src': 'heatmap', 'start': 2040.744, 'weight': 0, 'content': [{'end': 2043.905, 'text': 'So that is where we got the guy as singleton.', 'start': 2040.744, 'duration': 3.161}, {'end': 2046.166, 'text': "Let's change this to prototype.", 'start': 2044.345, 'duration': 1.821}, {'end': 2048.387, 'text': "So I'm going to change it to prototype.", 'start': 2047.066, 'duration': 1.321}, {'end': 2050.248, 'text': "Now let's read on the code.", 'start': 2048.786, 'duration': 1.462}, {'end': 2056.411, 'text': 'And here now you will find that this is a separate address and this is a separate address.', 'start': 2050.728, 'duration': 5.683}, {'end': 2066.679, 'text': "So that's like the scopes within your beans, right? So scope within your beans can be singleton, prototype, request, session or a global session.", 'start': 2056.973, 'duration': 9.706}, {'end': 2069.201, 'text': 'Request is for one HTTP request.', 'start': 2067.079, 'duration': 2.122}, {'end': 2071.522, 'text': 'Session is throughout one HTTP session.', 'start': 2069.221, 'duration': 2.301}, {'end': 2076.846, 'text': 'And global session is valid in the context of a web-aware spring application context.', 'start': 2071.902, 'duration': 4.944}, {'end': 2080.128, 'text': 'right. so what is the bean lifecycle?', 'start': 2076.946, 'duration': 3.182}, {'end': 2082.309, 'text': 'so, guys, we also have a lifecycle of a bean, right.', 'start': 2080.128, 'duration': 2.181}, {'end': 2083.429, 'text': 'so what does this mean?', 'start': 2082.309, 'duration': 1.12}, {'end': 2091.534, 'text': 'now, spring framework, you got this entire lifecycle management happening by the spring IOC container itself.', 'start': 2083.429, 'duration': 8.105}, {'end': 2093.835, 'text': 'so the beans gonna get instantiate.', 'start': 2091.534, 'duration': 2.301}], 'summary': 'Switched from singleton to prototype for separate addresses. explained bean scopes and lifecycles with spring framework.', 'duration': 53.091, 'max_score': 2040.744, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2040744.jpg'}, {'end': 2120.235, 'src': 'embed', 'start': 2091.534, 'weight': 1, 'content': [{'end': 2093.835, 'text': 'so the beans gonna get instantiate.', 'start': 2091.534, 'duration': 2.301}, {'end': 2097.297, 'text': 'then its property is gonna get populated through setter methods.', 'start': 2093.835, 'duration': 3.462}, {'end': 2105.101, 'text': 'right. so setter methods are going to get called right and any post processor, if you want to come up, you got a bean post processor API.', 'start': 2097.297, 'duration': 7.804}, {'end': 2114.65, 'text': 'So we can have after properties being set and custom init and custom destroy can also be implemented, like we have seen, my init and my destroy.', 'start': 2106.121, 'duration': 8.529}, {'end': 2120.235, 'text': 'So we can also have post initialization like we got a post processor over here.', 'start': 2115.01, 'duration': 5.225}], 'summary': 'Beans are instantiated and properties populated through setter methods, with options for post-processing and custom initialization and destruction.', 'duration': 28.701, 'max_score': 2091.534, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2091534.jpg'}, {'end': 2211.635, 'src': 'heatmap', 'start': 2115.01, 'weight': 0.933, 'content': [{'end': 2120.235, 'text': 'So we can also have post initialization like we got a post processor over here.', 'start': 2115.01, 'duration': 5.225}, {'end': 2126.641, 'text': 'And once the bin is ready to use you can use it and once container is shut down.', 'start': 2120.916, 'duration': 5.725}, {'end': 2129.624, 'text': 'So custom destroy method is executed.', 'start': 2126.962, 'duration': 2.662}, {'end': 2131.851, 'text': 'So what are inner beans?', 'start': 2130.589, 'duration': 1.262}, {'end': 2139.4, 'text': 'So, guys, inner beans are like if you have a person right, as has a relationship in student right?', 'start': 2131.891, 'duration': 7.509}, {'end': 2140.982, 'text': 'So you can come up with the inner beans.', 'start': 2139.44, 'duration': 1.542}, {'end': 2146.449, 'text': 'So you can have a bean property and then you can also create one inner bean and you can set its properties over here.', 'start': 2141.002, 'duration': 5.447}, {'end': 2155.989, 'text': 'So what is bean wiring? So guys, bean wiring is something which means that beans are combined together with the spring container.', 'start': 2147.341, 'duration': 8.648}, {'end': 2159.091, 'text': 'So, when we are wiring the beans,', 'start': 2156.629, 'duration': 2.462}, {'end': 2167.279, 'text': 'the spring container must know what beans are required and how the container should use dependency injection to tie them together.', 'start': 2159.091, 'duration': 8.188}, {'end': 2172.28, 'text': 'right. so what are the different modes to wire the beans?', 'start': 2167.699, 'duration': 4.581}, {'end': 2177.501, 'text': 'so, guys, we got by number, by name, by type, constructor and auto detect.', 'start': 2172.28, 'duration': 5.221}, {'end': 2180.641, 'text': 'so these are the different ways through which you can bind it.', 'start': 2177.501, 'duration': 3.14}, {'end': 2183.902, 'text': 'so what can be the limitations if you are going to come with auto wiring?', 'start': 2180.641, 'duration': 3.261}, {'end': 2187.862, 'text': 'so guys, uh, the possibility of overriding is there, right.', 'start': 2183.902, 'duration': 3.96}, {'end': 2189.243, 'text': 'and then primitive data types.', 'start': 2187.862, 'duration': 1.381}, {'end': 2194.004, 'text': "it becomes complicated, it's challenging and it's again confusing in nature, right.", 'start': 2189.243, 'duration': 4.761}, {'end': 2198.625, 'text': 'so you need to remember what was the name over and what has to be kept over here, right?', 'start': 2194.004, 'duration': 4.621}, {'end': 2199.626, 'text': "So it's a bit confusing.", 'start': 2198.645, 'duration': 0.981}, {'end': 2202.448, 'text': 'All right, so we got Spring annotations.', 'start': 2200.667, 'duration': 1.781}, {'end': 2205.41, 'text': 'So, guys, the way we got XML configuration.', 'start': 2202.668, 'duration': 2.742}, {'end': 2207.752, 'text': 'in a similar way we can have annotation right?', 'start': 2205.41, 'duration': 2.342}, {'end': 2211.635, 'text': 'So you can mention at the rate configuration or at the rate bean.', 'start': 2208.112, 'duration': 3.523}], 'summary': 'The transcript covers topics like bean initialization, inner beans, bean wiring, different modes of wiring, limitations of auto wiring, and spring annotations.', 'duration': 96.625, 'max_score': 2115.01, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2115010.jpg'}, {'end': 2180.641, 'src': 'embed', 'start': 2141.002, 'weight': 2, 'content': [{'end': 2146.449, 'text': 'So you can have a bean property and then you can also create one inner bean and you can set its properties over here.', 'start': 2141.002, 'duration': 5.447}, {'end': 2155.989, 'text': 'So what is bean wiring? So guys, bean wiring is something which means that beans are combined together with the spring container.', 'start': 2147.341, 'duration': 8.648}, {'end': 2159.091, 'text': 'So, when we are wiring the beans,', 'start': 2156.629, 'duration': 2.462}, {'end': 2167.279, 'text': 'the spring container must know what beans are required and how the container should use dependency injection to tie them together.', 'start': 2159.091, 'duration': 8.188}, {'end': 2172.28, 'text': 'right. so what are the different modes to wire the beans?', 'start': 2167.699, 'duration': 4.581}, {'end': 2177.501, 'text': 'so, guys, we got by number, by name, by type, constructor and auto detect.', 'start': 2172.28, 'duration': 5.221}, {'end': 2180.641, 'text': 'so these are the different ways through which you can bind it.', 'start': 2177.501, 'duration': 3.14}], 'summary': 'Bean wiring combines beans with spring container using dependency injection. different modes include by number, by name, by type, constructor, and auto detect.', 'duration': 39.639, 'max_score': 2141.002, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2141002.jpg'}, {'end': 2336.92, 'src': 'heatmap', 'start': 2246.946, 'weight': 4, 'content': [{'end': 2254.272, 'text': "All right, so let's now see what are exactly the different annotations which are quite used in commercial or in industry.", 'start': 2246.946, 'duration': 7.326}, {'end': 2258.135, 'text': 'So we got component, controller, repository, and service.', 'start': 2254.552, 'duration': 3.583}, {'end': 2261.498, 'text': 'So these are kind of most used annotations.', 'start': 2258.155, 'duration': 3.343}, {'end': 2267.942, 'text': 'So, guys, component is basically a generic stereotype, right, which can be used across the application.', 'start': 2261.858, 'duration': 6.084}, {'end': 2272.364, 'text': 'Controller is to represent your business part.', 'start': 2268.342, 'duration': 4.022}, {'end': 2279.128, 'text': 'Service will annotate classes on the service level layer and repository is going to deal with the database part.', 'start': 2272.764, 'duration': 6.364}, {'end': 2281.709, 'text': 'So what is this at the rate required?', 'start': 2279.708, 'duration': 2.001}, {'end': 2290.694, 'text': 'annotation?. So, guys, when we are coming up with the bean construction at the rate required is a kind of, you can say, one constraint right?', 'start': 2281.709, 'duration': 8.985}, {'end': 2298.038, 'text': "So name has to be populated for sure, else it's gonna throw a bean initialization exception.", 'start': 2290.754, 'duration': 7.284}, {'end': 2301.26, 'text': "So that's like, you can say, putting up the constraints.", 'start': 2298.558, 'duration': 2.702}, {'end': 2310.132, 'text': "So at-the-rate auto-wired annotation is basically auto-wiring, right? So let's say you got an employee, right? And we got this guy named.", 'start': 2302.27, 'duration': 7.862}, {'end': 2312.873, 'text': 'So you can put it as an at-the-rate auto-wire.', 'start': 2310.433, 'duration': 2.44}, {'end': 2315.134, 'text': 'So auto-wiring here by name.', 'start': 2313.033, 'duration': 2.101}, {'end': 2319.655, 'text': 'So you need not to come up with a different dependency injection technique.', 'start': 2315.534, 'duration': 4.121}, {'end': 2321.036, 'text': 'You need to use the same name.', 'start': 2319.675, 'duration': 1.361}, {'end': 2330.973, 'text': 'So what is this guy qualifier? So guys there are some situation when you gonna create more than one bean for the same type.', 'start': 2322.182, 'duration': 8.791}, {'end': 2336.92, 'text': 'But we want to wire only any one out of them with a property.', 'start': 2331.534, 'duration': 5.386}], 'summary': 'Different annotations used in industry: component, controller, repository, service. also, details on @required, @autowired, and @qualifier.', 'duration': 25.418, 'max_score': 2246.946, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2246946.jpg'}, {'end': 2424.578, 'src': 'embed', 'start': 2398.438, 'weight': 5, 'content': [{'end': 2404.161, 'text': 'So we got all DAO as a design pattern concept which can be, you know, used off in our Spring framework.', 'start': 2398.438, 'duration': 5.723}, {'end': 2414.086, 'text': 'So Spring framework data access is aimed at making it easy to work with the data access technologies like Hibernate Abatis,', 'start': 2404.661, 'duration': 9.425}, {'end': 2416.788, 'text': 'JDBC or JD right Java data objects.', 'start': 2414.086, 'duration': 2.702}, {'end': 2420.833, 'text': "So it's very easy to switch between the persistent technology.", 'start': 2417.228, 'duration': 3.605}, {'end': 2424.578, 'text': 'So you can switch from one of the framework to the other framework very easily.', 'start': 2420.873, 'duration': 3.705}], 'summary': 'Dao design pattern in spring framework simplifies data access, enabling easy switching between persistent technologies.', 'duration': 26.14, 'max_score': 2398.438, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2398438.jpg'}, {'end': 2508.364, 'src': 'embed', 'start': 2481.695, 'weight': 6, 'content': [{'end': 2491.439, 'text': 'So these are some major important APIs with respect to your So JDBC template is again used on a very frequent basis.', 'start': 2481.695, 'duration': 9.744}, {'end': 2496.321, 'text': 'So how we can use Hibernate and Spring Framework.', 'start': 2492.6, 'duration': 3.721}, {'end': 2497.301, 'text': 'So guys there are two ways.', 'start': 2496.341, 'duration': 0.96}, {'end': 2506.483, 'text': 'So either you can do an inversion of control with the Hibernate template API or you can extend the Hibernate DAO support and you can use AOP.', 'start': 2497.581, 'duration': 8.902}, {'end': 2508.364, 'text': "That's like aspect oriented programming.", 'start': 2506.523, 'duration': 1.841}], 'summary': 'Frequent use of jdbc template, options for hibernate and spring framework, including inversion of control and aop.', 'duration': 26.669, 'max_score': 2481.695, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2481695.jpg'}, {'end': 2559.787, 'src': 'embed', 'start': 2531.306, 'weight': 8, 'content': [{'end': 2537.392, 'text': 'So here we got an extreme flexibility, right? But maintenance is a bit difficult part.', 'start': 2531.306, 'duration': 6.086}, {'end': 2542.978, 'text': 'But in declarative part, so transaction management is not a part of your programming.', 'start': 2537.853, 'duration': 5.125}, {'end': 2549.604, 'text': "So it's basically annotations or XML based configuration to manage your transaction.", 'start': 2543.398, 'duration': 6.206}, {'end': 2551.026, 'text': "Now that's the core difference.", 'start': 2549.624, 'duration': 1.402}, {'end': 2554.87, 'text': 'So declarative means either annotation based or XML based.', 'start': 2551.546, 'duration': 3.324}, {'end': 2559.787, 'text': 'So different ORMs are supported by the Spring Framework right?', 'start': 2555.703, 'duration': 4.084}], 'summary': 'Spring framework offers extreme flexibility, but maintenance is challenging. transaction management is not part of programming, managed through annotations or xml. supports various orms.', 'duration': 28.481, 'max_score': 2531.306, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2531306.jpg'}, {'end': 2608.423, 'src': 'embed', 'start': 2579.732, 'weight': 7, 'content': [{'end': 2586.515, 'text': 'Now this is one technique which allows the programmers to modularize cross-cutting concerns.', 'start': 2579.732, 'duration': 6.783}, {'end': 2590.697, 'text': "So what is meant by the cross-cutting concern? We'll see in our upcoming slides.", 'start': 2586.975, 'duration': 3.722}, {'end': 2597.039, 'text': "So we can also modularize the behavior that's gonna cut across the typical divisions of responsibility.", 'start': 2591.357, 'duration': 5.682}, {'end': 2602.041, 'text': 'Now the core construct of the AOP is known as an aspect right?', 'start': 2597.459, 'duration': 4.582}, {'end': 2608.423, 'text': 'So which encapsulates different behaviors affecting multiple classes into some reusable modules.', 'start': 2602.461, 'duration': 5.962}], 'summary': 'Aop allows programmers to modularize cross-cutting concerns and behaviors affecting multiple classes.', 'duration': 28.691, 'max_score': 2579.732, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2579732.jpg'}, {'end': 2791.593, 'src': 'embed', 'start': 2761.133, 'weight': 10, 'content': [{'end': 2767.256, 'text': 'So guys, what is the concern? Concern is a behavior we want to have in a module of an application.', 'start': 2761.133, 'duration': 6.123}, {'end': 2772.32, 'text': 'Whereas a cross-cutting concern is a concern which is applicable throughout the application.', 'start': 2767.276, 'duration': 5.044}, {'end': 2773.54, 'text': 'For example, security.', 'start': 2772.36, 'duration': 1.18}, {'end': 2782.426, 'text': "From writing your code to maintenance to execution, you need the security on every level, right? So that's like your cross-cutting concern.", 'start': 2773.981, 'duration': 8.445}, {'end': 2791.593, 'text': 'So what exactly are the different AOP implementations? So guys we got Spring AOP, Apache Aspect J and JBoss AOP.', 'start': 2783.186, 'duration': 8.407}], 'summary': 'Cross-cutting concerns like security are applicable throughout the application. aop implementations include spring aop, apache aspect j, and jboss aop.', 'duration': 30.46, 'max_score': 2761.133, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2761133.jpg'}, {'end': 2836.474, 'src': 'embed', 'start': 2811.398, 'weight': 12, 'content': [{'end': 2821.983, 'text': 'So AOP in the Spring will support only method level point cut whereas in Aspect J AOP even the field level point cuts are also possible.', 'start': 2811.398, 'duration': 10.585}, {'end': 2831.19, 'text': "So we got DTT based, so it's like document type definition, right? And AspectJ is schema based or annotational configuration again.", 'start': 2822.483, 'duration': 8.707}, {'end': 2833.532, 'text': 'So what is this proxy all about?', 'start': 2831.911, 'duration': 1.621}, {'end': 2836.474, 'text': 'So, guys, what happens whenever you create an object?', 'start': 2833.812, 'duration': 2.662}], 'summary': 'Comparison of aop in spring and aspectj, discussing point cuts and configurations.', 'duration': 25.076, 'max_score': 2811.398, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2811398.jpg'}, {'end': 2963.36, 'src': 'embed', 'start': 2899.351, 'weight': 11, 'content': [{'end': 2906.113, 'text': 'So guys the Spring MVC framework helps us to work in a predefined model view controller architecture.', 'start': 2899.351, 'duration': 6.762}, {'end': 2913.056, 'text': 'So we got ready to use components which will help us to develop flexible and loosely coupled web applications.', 'start': 2906.373, 'duration': 6.683}, {'end': 2917.838, 'text': 'So we got different aspects of the application which are separated now.', 'start': 2913.516, 'duration': 4.322}, {'end': 2924.04, 'text': 'So you can see over here, we got dispatcher servlet as one of the key important ingredient.', 'start': 2918.178, 'duration': 5.862}, {'end': 2928.481, 'text': 'We got the mapping, handle mapping, controller, view resolver and view.', 'start': 2924.36, 'duration': 4.121}, {'end': 2930.002, 'text': 'So these are the various components.', 'start': 2928.521, 'duration': 1.481}, {'end': 2931.963, 'text': "Let's see what are these guys.", 'start': 2930.462, 'duration': 1.501}, {'end': 2938.685, 'text': 'So guys, dispatcher servlet is the one which will handle any HTTP request or response.', 'start': 2932.543, 'duration': 6.142}, {'end': 2944.008, 'text': 'So spring MVC framework is designed around the dispatcher servlet only.', 'start': 2939.125, 'duration': 4.883}, {'end': 2953.134, 'text': 'So what is this web application context? So web application context is again an extension of application context.', 'start': 2944.548, 'duration': 8.586}, {'end': 2959.457, 'text': 'So application context is the core container, whereas web application context is a container on the web app layer right?', 'start': 2953.154, 'duration': 6.303}, {'end': 2963.36, 'text': 'So this will have an extra feature for your web applications.', 'start': 2959.838, 'duration': 3.522}], 'summary': 'Spring mvc framework uses predefined model view controller architecture for flexible and loosely coupled web applications, with key components like dispatcher servlet and web application context.', 'duration': 64.009, 'max_score': 2899.351, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2899351.jpg'}, {'end': 3008.138, 'src': 'embed', 'start': 2984.446, 'weight': 15, 'content': [{'end': 2993.771, '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.", 'start': 2984.446, 'duration': 9.325}, {'end': 2998.014, 'text': 'right?. So spring controller is going to act as a receptionist now, right?', 'start': 2993.771, 'duration': 4.243}, {'end': 2999.955, 'text': "Where it's gonna handle your requests.", 'start': 2998.054, 'duration': 1.901}, {'end': 3002.676, 'text': "so that's like the whole agenda for the day.", 'start': 3000.555, 'duration': 2.121}, {'end': 3008.138, 'text': 'so, guys, if you are going to come up with any spring interview right, you need to follow these topics.', 'start': 3002.676, 'duration': 5.462}], 'summary': 'The spring controller processes data from the model and handles user requests.', 'duration': 23.692, 'max_score': 2984.446, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2984446.jpg'}], 'start': 2040.744, 'title': 'Understanding spring framework', 'summary': 'Covers spring beans, annotations, framework overview, and aop implementations. it includes discussions on bean scopes, lifecycle management, annotations usage, major apis, aop implementations, and spring mvc framework, providing insights into various aspects of spring framework.', 'chapters': [{'end': 2199.626, 'start': 2040.744, 'title': 'Spring beans and dependency injection', 'summary': 'Covers the concept of spring beans, including the bean scopes, lifecycle management, inner beans, bean wiring, and the different modes of wiring, with a focus on prototype and singleton scopes and the challenges of auto wiring.', 'duration': 158.882, 'highlights': ['The bean scopes within Spring can be singleton, prototype, request, session, or global session, with request being for one HTTP request and session being throughout one HTTP session. The bean scopes within Spring can be singleton, prototype, request, session, or global session, with request being for one HTTP request and session being throughout one HTTP session.', 'The lifecycle of a bean involves instantiation, property population through setter methods, bean post processor API for after properties being set, custom init, custom destroy, and post initialization. The lifecycle of a bean involves instantiation, property population through setter methods, bean post processor API for after properties being set, custom init, custom destroy, and post initialization.', 'Inner beans in Spring are used to represent a has-a relationship, allowing for the creation of a bean property and the setting of its properties within another bean. Inner beans in Spring are used to represent a has-a relationship, allowing for the creation of a bean property and the setting of its properties within another bean.', 'Bean wiring in Spring combines beans together within the Spring container using dependency injection, which can be achieved through different modes such as by number, by name, by type, constructor, and auto detect. Bean wiring in Spring combines beans together within the Spring container using dependency injection, which can be achieved through different modes such as by number, by name, by type, constructor, and auto detect.', 'Auto wiring in Spring may have limitations such as the possibility of overriding, complications with primitive data types, and confusion regarding naming and placement. Auto wiring in Spring may have limitations such as the possibility of overriding, complications with primitive data types, and confusion regarding naming and placement.']}, {'end': 2462.162, 'start': 2200.667, 'title': 'Spring annotations and their usage', 'summary': 'Discusses the usage of spring annotations for configuring the spring ioc container, including popular annotations such as component, controller, repository, and service, along with their specific purposes and constraints. it also covers annotations like @autowired, @qualifier, @requestmapping, and data access support in spring, allowing easy switch between different persistent technologies and handling various data access exceptions.', 'duration': 261.495, 'highlights': ['The chapter discusses the usage of Spring annotations for configuring the Spring IOC container, including popular annotations such as component, controller, repository, and service, along with their specific purposes and constraints. It covers the different annotations used for Spring IOC container configuration, such as component, controller, repository, and service, and their specific roles within the application.', 'It also covers annotations like @Autowired, @Qualifier, @RequestMapping, and data access support in Spring, allowing easy switch between different persistent technologies and handling various data access exceptions. The chapter delves into annotations like @Autowired, @Qualifier, and @RequestMapping, as well as the data access support in Spring, emphasizing the ease of switching between persistent technologies and handling different data access exceptions.']}, {'end': 2782.426, 'start': 2462.882, 'title': 'Spring framework overview', 'summary': 'Provides an overview of the spring framework, including its major apis like jdbc template, hibernate integration, transaction management types, supported orms, and spring aop, explaining its core constructs and the different types of advices, with a focus on cross-cutting concerns and joint points.', 'duration': 319.544, 'highlights': ['The chapter provides an overview of the Spring Framework, including its major APIs like JDBC template, Hibernate integration, transaction management types, supported ORMs, and Spring AOP. The chapter covers major APIs in the Spring Framework such as JDBC template, Hibernate integration, transaction management types, supported ORMs, and Spring AOP.', 'Explains the core constructs and the different types of advices in Spring AOP, with a focus on cross-cutting concerns and joint points. The chapter delves into Spring AOP, explaining its core constructs, different types of advices, cross-cutting concerns, and joint points.', 'Highlights the difference between programmatic and declarative transaction management in the Spring Framework, emphasizing the extreme flexibility of programmatic management and the annotation/XML-based configuration in declarative management. The chapter distinguishes between programmatic and declarative transaction management in the Spring Framework, highlighting extreme flexibility in programmatic management and the annotation/XML-based configuration in declarative management.', 'Discusses the concept of cross-cutting concerns and joint points in Spring AOP, providing examples such as security and method execution, and explains the different types of advices including before, after, and around the method execution. The chapter discusses cross-cutting concerns and joint points in Spring AOP, providing examples and explaining different types of advices including before, after, and around the method execution.', 'Explains the difference between concern and cross-cutting concern, highlighting the applicability of cross-cutting concerns throughout the application, such as security. The chapter explains the difference between concern and cross-cutting concern, emphasizing the applicability of cross-cutting concerns throughout the application, using security as an example.']}, {'end': 3049.323, 'start': 2783.186, 'title': 'Aop implementations and spring mvc', 'summary': 'Discusses different aop implementations including spring aop, apache aspect j, and jboss aop, highlighting key differences such as weaving through proxy in spring aop, support for field level point cuts in aspect j aop, and the working of spring mvc framework for developing flexible and loosely coupled web applications.', 'duration': 266.137, 'highlights': ['The Spring MVC framework helps us to work in a predefined model view controller architecture Explains the purpose and functionality of the Spring MVC framework', 'Spring AOP supports only method level point cut, whereas in Aspect J AOP even the field level point cuts are possible Highlights the difference in point cut support between Spring AOP and Aspect J AOP', 'Dispatcher servlet in Spring MVC handles any HTTP request or response Describes the role of dispatcher servlet in Spring MVC framework', 'Web application context is an extension of application context and is a container on the web app layer with extra features for web applications Explains the concept and purpose of web application context as an extension of application context', 'Controller in Spring MVC acts as a receptionist, handling user requests and processing data from the model to provide the view back to the user Describes the role of controller in Spring MVC and its interaction with user requests and data processing']}], 'duration': 1008.579, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/yNY8HLk1hNM/pics/yNY8HLk1hNM2040744.jpg', 'highlights': ['The bean scopes within Spring can be singleton, prototype, request, session, or global session, with request being for one HTTP request and session being throughout one HTTP session.', 'The lifecycle of a bean involves instantiation, property population through setter methods, bean post processor API for after properties being set, custom init, custom destroy, and post initialization.', 'Inner beans in Spring are used to represent a has-a relationship, allowing for the creation of a bean property and the setting of its properties within another bean.', 'Bean wiring in Spring combines beans together within the Spring container using dependency injection, which can be achieved through different modes such as by number, by name, by type, constructor, and auto detect.', 'The chapter discusses the usage of Spring annotations for configuring the Spring IOC container, including popular annotations such as component, controller, repository, and service, along with their specific purposes and constraints.', 'It also covers annotations like @Autowired, @Qualifier, @RequestMapping, and data access support in Spring, allowing easy switch between different persistent technologies and handling various data access exceptions.', 'The chapter provides an overview of the Spring Framework, including its major APIs like JDBC template, Hibernate integration, transaction management types, supported ORMs, and Spring AOP.', 'Explains the core constructs and the different types of advices in Spring AOP, with a focus on cross-cutting concerns and joint points.', 'Highlights the difference between programmatic and declarative transaction management in the Spring Framework, emphasizing the extreme flexibility of programmatic management and the annotation/XML-based configuration in declarative management.', 'Discusses the concept of cross-cutting concerns and joint points in Spring AOP, providing examples such as security and method execution, and explains the different types of advices including before, after, and around the method execution.', 'Explains the difference between concern and cross-cutting concern, emphasizing the applicability of cross-cutting concerns throughout the application, such as security.', 'The Spring MVC framework helps us to work in a predefined model view controller architecture.', 'Spring AOP supports only method level point cut, whereas in Aspect J AOP even the field level point cuts are possible.', 'Dispatcher servlet in Spring MVC handles any HTTP request or response.', 'Web application context is an extension of application context and is a container on the web app layer with extra features for web applications.', 'Controller in Spring MVC acts as a receptionist, handling user requests and processing data from the model to provide the view back to the user.']}], 'highlights': ["Spring Source was purchased by BMW for approximately $420 million in 2009, indicating the framework's significant market value.", "The Spring Framework's dominance over the years has increased, particularly in the field of web frameworks, with a significant market share surge from 2012 to 2016.", 'Job trends show a high demand for Spring Framework, with approximately 3000 job openings in India and an average of 6000 in the US, as of 18 May 2017.', 'The graph depicting permanent and contract job trends for Spring Framework is consistently rising as the years progress, indicating a growing job market for the framework.', 'The major versions of the Spring framework are 4.0, 3.0, and 2.5, each introducing significant features and enhancements, such as annotation-driven configuration, Java 5 improvements, and full Java feature support.', 'Advantages of Spring framework include layered architecture, dependency injection, inversion of control, and being an open source community, providing memory optimizations and control of object construction to destruction.', 'The Spring framework is a layered architecture consisting of components like testing, core container, AOP, data access layer, web layer, and configuration file.', "Inversion of control means objects are configured and constructed by the Spring framework, leading to memory optimizations and control of object construction to destruction, which enhances the application's performance and efficiency.", 'The Spring Framework can be used in various ways, including creating full-fledged web applications and integrating with middle tier and enterprise Java beans.', 'The core features of the Spring Framework, such as dependency injection and inversion of control, are explained, highlighting how IOC involves object construction and management, and how dependency injection fulfills object relationship criteria.', 'The concept of dependency injection is elaborated, emphasizing that it involves describing how objects should be created, and outlining the three methods of performing dependency injection.', 'The chapter provides an overview of the Spring framework, covering concepts such as Inversion of Control (IOC), BeanFactory vs Application Context, benefits of IOC in minimizing code and promoting loose coupling, support for eager instantiation and lazy loading, and the various ways to configure objects in IOC.', 'The chapter discusses the creation of a Java project and the development of an employee class with attributes, constructor, getters, setters, and toString method Demonstrates the process of creating a Java project and building an employee class with various components.', 'The bean scopes within Spring can be singleton, prototype, request, session, or global session, with request being for one HTTP request and session being throughout one HTTP session.', 'The lifecycle of a bean involves instantiation, property population through setter methods, bean post processor API for after properties being set, custom init, custom destroy, and post initialization.', 'Inner beans in Spring are used to represent a has-a relationship, allowing for the creation of a bean property and the setting of its properties within another bean.', 'Bean wiring in Spring combines beans together within the Spring container using dependency injection, which can be achieved through different modes such as by number, by name, by type, constructor, and auto detect.', 'The chapter discusses the usage of Spring annotations for configuring the Spring IOC container, including popular annotations such as component, controller, repository, and service, along with their specific purposes and constraints.', 'It also covers annotations like @Autowired, @Qualifier, @RequestMapping, and data access support in Spring, allowing easy switch between different persistent technologies and handling various data access exceptions.', 'The chapter provides an overview of the Spring Framework, including its major APIs like JDBC template, Hibernate integration, transaction management types, supported ORMs, and Spring AOP.', 'Explains the core constructs and the different types of advices in Spring AOP, with a focus on cross-cutting concerns and joint points.', 'Highlights the difference between programmatic and declarative transaction management in the Spring Framework, emphasizing the extreme flexibility of programmatic management and the annotation/XML-based configuration in declarative management.', 'Discusses the concept of cross-cutting concerns and joint points in Spring AOP, providing examples such as security and method execution, and explains the different types of advices including before, after, and around the method execution.', 'The Spring MVC framework helps us to work in a predefined model view controller architecture.', 'Spring AOP supports only method level point cut, whereas in Aspect J AOP even the field level point cuts are possible.', 'Dispatcher servlet in Spring MVC handles any HTTP request or response.', 'Web application context is an extension of application context and is a container on the web app layer with extra features for web applications.', 'Controller in Spring MVC acts as a receptionist, handling user requests and processing data from the model to provide the view back to the user.']}