title
Spring Core Annotation | Configuration, Bean
description
Spring Full Course : https://courses.telusko.com/learn/Spring5
Spring Full Course (UDEMY) : https://www.udemy.com/spring-5-with-spring-boot-2/?couponCode=TELUSKOMEMBERS
Angular Full Course : https://courses.telusko.com/learn/Angular
Spring Core Annotation | Configuration, Bean:- https://github.com/navinreddy20/Spring_Framework-/tree/master/SpringAnno
Spring Boot Tutorials : https://goo.gl/7894NE
Servlet JSP tutorial playlist : https://goo.gl/y1kvwc
Check out our website: http://www.telusko.com
Follow Telusko on Twitter: https://twitter.com/navinreddy20
Follow on Facebook:
Telusko : https://www.facebook.com/teluskolearnings
Navin Reddy : https://www.facebook.com/navintelusko
Follow Navin Reddy on Instagram: https://www.instagram.com/navinreddy20
Subscribe to our other channel:
Navin Reddy : https://www.youtube.com/channel/UCxmkk8bMSOF-UBF43z-pdGQ?sub_confirmation=1
Telusko Hindi :
https://www.youtube.com/channel/UCitzw4ROeTVGRRLnCPws-cw?sub_confirmation=1
detail
{'title': 'Spring Core Annotation | Configuration, Bean', 'heatmap': [{'end': 442.434, 'start': 401.206, 'weight': 0.726}, {'end': 494.238, 'start': 448.805, 'weight': 0.779}, {'end': 526.463, 'start': 495.118, 'weight': 0.846}, {'end': 669.772, 'start': 657.282, 'weight': 0.716}, {'end': 835.24, 'start': 806.461, 'weight': 0.719}, {'end': 920.833, 'start': 907.688, 'weight': 0.705}], 'summary': "Introduces spring framework and maven, highlighting the usage of annotations for configuring a spring application and achieving dependency injection. it covers creating a samsung s7 class with a 'config' method, implementing annotation-based configuration, and configuring spring beans to simplify configuration and handle multiple files.", 'chapters': [{'end': 174.198, 'segs': [{'end': 43.033, 'src': 'embed', 'start': 18.694, 'weight': 0, 'content': [{'end': 25.701, 'text': 'you will understand how to use Maven to create a Spring application and you can configure a Spring application with the help of annotations.', 'start': 18.694, 'duration': 7.007}, {'end': 30.906, 'text': 'Now, in fact, I have already created some videos for Spring Framework using XML configuration.', 'start': 26.542, 'duration': 4.364}, {'end': 35.17, 'text': "So in this video, we'll talk about annotations, more focused on annotations.", 'start': 31.427, 'duration': 3.743}, {'end': 43.033, 'text': 'So, we normally achieve dependency which is dependency injection with the help of Spring Framework.', 'start': 36.451, 'duration': 6.582}], 'summary': 'Learn to use maven for spring app & configure with annotations. focus on dependency injection with spring.', 'duration': 24.339, 'max_score': 18.694, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I18694.jpg'}, {'end': 89.839, 'src': 'embed', 'start': 60.037, 'weight': 2, 'content': [{'end': 62.939, 'text': 'So you will find the link in the description area of the Spring Framework.', 'start': 60.037, 'duration': 2.902}, {'end': 65.941, 'text': 'So let me create a new project.', 'start': 64.62, 'duration': 1.321}, {'end': 71.105, 'text': "We will be creating a maven project because we don't want to download all the required libraries.", 'start': 66.182, 'duration': 4.923}, {'end': 73.947, 'text': 'We can ask maven to give you that for you.', 'start': 71.125, 'duration': 2.822}, {'end': 83.412, 'text': "So we will say maven project Now since we are going for simple spring application, we'll go for a quick start which is a Maven archetype.", 'start': 74.587, 'duration': 8.825}, {'end': 89.839, 'text': 'You can go for spring web for web application, you can go for quick start for co-job application.', 'start': 84.233, 'duration': 5.606}], 'summary': 'Creating a maven project for a simple spring application with quick start archetype.', 'duration': 29.802, 'max_score': 60.037, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I60037.jpg'}], 'start': 0.409, 'title': 'Spring framework and maven with annotations', 'summary': 'Introduces spring framework and maven, emphasizing the usage of annotations for configuring a spring application, providing guidance on creating a maven project and adding spring dependencies, with a focus on achieving dependency injection.', 'chapters': [{'end': 174.198, 'start': 0.409, 'title': 'Spring framework with maven and annotations', 'summary': 'Introduces spring framework and maven, emphasizing the usage of annotations for configuring a spring application, providing guidance on creating a maven project and adding spring dependencies, with a focus on achieving dependency injection.', 'duration': 173.789, 'highlights': ['The chapter emphasizes the usage of annotations for configuring a Spring application, providing guidance on creating a Maven project and adding Spring dependencies, with a focus on achieving dependency injection.', 'The video provides an understanding of Spring Framework, Maven usage for creating a Spring application, and the configuration of a Spring application with annotations.', 'The chapter introduces the process of creating a Maven project, highlighting the advantage of using Maven to download all the required libraries.']}], 'duration': 173.789, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I409.jpg', 'highlights': ['The chapter emphasizes the usage of annotations for configuring a Spring application, providing guidance on creating a Maven project and adding Spring dependencies, with a focus on achieving dependency injection.', 'The video provides an understanding of Spring Framework, Maven usage for creating a Spring application, and the configuration of a Spring application with annotations.', 'The chapter introduces the process of creating a Maven project, highlighting the advantage of using Maven to download all the required libraries.']}, {'end': 709.008, 'segs': [{'end': 235.566, 'src': 'embed', 'start': 204.619, 'weight': 0, 'content': [{'end': 206.08, 'text': 'this is eclipse.', 'start': 204.619, 'duration': 1.461}, {'end': 210.442, 'text': 'so we have to say sout and in this we will print the configuration of this phone.', 'start': 206.08, 'duration': 4.362}, {'end': 214.244, 'text': 'we can say this is octa-core comma.', 'start': 210.442, 'duration': 3.802}, {'end': 215.664, 'text': 'this is 4gb ram.', 'start': 214.244, 'duration': 1.42}, {'end': 218.325, 'text': "so I'm talking about Samsung S7.", 'start': 215.664, 'duration': 2.661}, {'end': 222.087, 'text': 'to be specific, we have 12 megapixel camera.', 'start': 218.325, 'duration': 3.762}, {'end': 227.817, 'text': "okay, so that's camera right.", 'start': 224.073, 'duration': 3.744}, {'end': 234.445, 'text': 'so we have this samsung class here and what i want to do now is i want to create this.', 'start': 227.817, 'duration': 6.628}, {'end': 235.566, 'text': 'i want to create this.', 'start': 234.445, 'duration': 1.121}], 'summary': 'Samsung s7: octa-core, 4gb ram, 12mp camera.', 'duration': 30.947, 'max_score': 204.619, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I204619.jpg'}, {'end': 317.1, 'src': 'embed', 'start': 285.139, 'weight': 2, 'content': [{'end': 291.323, 'text': 'so in order to inject this object, we can ask our factory, which is application context, to give you the object of Samsung.', 'start': 285.139, 'duration': 6.184}, {'end': 294.205, 'text': 'for that we need to create object of application context.', 'start': 292.163, 'duration': 2.042}, {'end': 296.946, 'text': 'we can say this is factory equal to.', 'start': 294.205, 'duration': 2.741}, {'end': 303.591, 'text': 'so in order to create object of application context we have to create, we have to use a class which is annotation config.', 'start': 296.946, 'duration': 6.645}, {'end': 317.1, 'text': 'in fact, if you remember, in xml we use class path xml and this we have to use annotation config, application context, in which you have to pass okay,', 'start': 303.591, 'duration': 13.509}], 'summary': 'Using application context factory to obtain samsung object with annotation config', 'duration': 31.961, 'max_score': 285.139, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I285139.jpg'}, {'end': 367.182, 'src': 'embed', 'start': 334.078, 'weight': 4, 'content': [{'end': 336.639, 'text': "Okay, and we need to also, yeah, that's done.", 'start': 334.078, 'duration': 2.561}, {'end': 339.802, 'text': 'So we need to specify that we want the object of Samsung.class.', 'start': 336.96, 'duration': 2.842}, {'end': 344.051, 'text': 'right. and if you run this application now, so what we are doing?', 'start': 341.147, 'duration': 2.904}, {'end': 351.081, 'text': "we're asking factory to give you the object and if i run this code, okay, it's something is happening.", 'start': 344.051, 'duration': 7.03}, {'end': 353.725, 'text': 'we got oh, we got an error here.', 'start': 351.081, 'duration': 2.644}, {'end': 356.208, 'text': 'it says illegal state exception is because.', 'start': 353.725, 'duration': 2.483}, {'end': 360.553, 'text': 'Okay, we have not mentioned the configuration file here.', 'start': 357.409, 'duration': 3.144}, {'end': 367.182, 'text': 'So when you go for XML, you mentioned the XML name, right, which is spring.xml, in which you have to specify something like this.', 'start': 360.573, 'duration': 6.609}], 'summary': 'Discussion about specifying object of samsung.class, encountering illegal state exception due to missing configuration file.', 'duration': 33.104, 'max_score': 334.078, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I334078.jpg'}, {'end': 442.434, 'src': 'heatmap', 'start': 377.753, 'weight': 1, 'content': [{'end': 384.136, 'text': 'So when you say you want a phone, you will get a Samsung, right? So this is what we do when you work with XML type of configuration.', 'start': 377.753, 'duration': 6.383}, {'end': 388.678, 'text': 'Now we are not going for XML type of configuration, we are going for annotation-based configuration.', 'start': 384.616, 'duration': 4.062}, {'end': 398.843, 'text': 'So in order to use annotation-based configuration, what we need is we have to create a class who is responsible for this.', 'start': 389.499, 'duration': 9.344}, {'end': 399.944, 'text': 'So I will create a class.', 'start': 398.883, 'duration': 1.061}, {'end': 402.588, 'text': 'who will provide me the configuration.', 'start': 401.206, 'duration': 1.382}, {'end': 407.434, 'text': "Since we are working with annotations, so we'll create a class and we'll name this class as AppConfig.", 'start': 402.628, 'duration': 4.806}, {'end': 409.717, 'text': "We can give it any name, it doesn't matter.", 'start': 408.055, 'duration': 1.662}, {'end': 415.724, 'text': 'And since this class is a configuration class or this class is responsible for the configuration,', 'start': 411.058, 'duration': 4.666}, {'end': 420.387, 'text': 'we have to use an annotation which is at configuration.', 'start': 415.724, 'duration': 4.663}, {'end': 427.589, 'text': 'so as soon as you specify, at configuration now this file, this class is responsible to give you those objects.', 'start': 420.387, 'duration': 7.202}, {'end': 428.809, 'text': 'so in xml, what we do?', 'start': 427.589, 'duration': 1.22}, {'end': 430.59, 'text': 'we specify this stuff right.', 'start': 428.809, 'duration': 1.781}, {'end': 442.434, 'text': 'so in inside your xml or inside your annotation, what we can do is we can create a method and this method will return you the object of samsung,', 'start': 430.59, 'duration': 11.844}], 'summary': 'Transitioning from xml to annotation-based configuration for creating appconfig class to provide object of samsung.', 'duration': 42.634, 'max_score': 377.753, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I377753.jpg'}, {'end': 494.238, 'src': 'heatmap', 'start': 448.805, 'weight': 0.779, 'content': [{'end': 457.268, 'text': 'okay, and we can simply say return new samsung, sounds good, right.', 'start': 448.805, 'duration': 8.463}, {'end': 462.55, 'text': 'so now, as soon as you run this code now, it will try to fetch the object from here.', 'start': 457.268, 'duration': 5.282}, {'end': 465.392, 'text': "let's try, let's see what's happening.", 'start': 462.55, 'duration': 2.842}, {'end': 468.213, 'text': 'oh, we need to specify this stuff here also, right, we have to specify.', 'start': 465.392, 'duration': 2.821}, {'end': 470.934, 'text': 'this is app config dot class.', 'start': 468.213, 'duration': 2.721}, {'end': 476.6, 'text': 'So we need to specify which configuration class you are working with.', 'start': 472.233, 'duration': 4.367}, {'end': 481.068, 'text': 'So this factory needs to know about the class you are working with.', 'start': 477.181, 'duration': 3.887}, {'end': 486.792, 'text': "okay, let's go back to the app config and everything seems good.", 'start': 482.509, 'duration': 4.283}, {'end': 494.238, 'text': 'and if I run this code again, if I go here, we got another error now, which is no such bin definition found.', 'start': 486.792, 'duration': 7.446}], 'summary': 'Debugging code to fetch object, need to specify configuration class, encountering error', 'duration': 45.433, 'max_score': 448.805, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I448805.jpg'}, {'end': 526.463, 'src': 'heatmap', 'start': 495.118, 'weight': 0.846, 'content': [{'end': 500.402, 'text': 'so there is no error now of class, but it is not able to find the bin type of Samsung.', 'start': 495.118, 'duration': 5.284}, {'end': 502.183, 'text': 'the problem is inside your methods.', 'start': 500.402, 'duration': 1.781}, {'end': 505.806, 'text': 'you have to specify that this method is a bin.', 'start': 502.183, 'duration': 3.623}, {'end': 506.967, 'text': 'it will return you a bin.', 'start': 505.806, 'duration': 1.161}, {'end': 511.883, 'text': "So that's the annotation we have to use in order to create that dependency thing work.", 'start': 507.637, 'duration': 4.246}, {'end': 516.028, 'text': 'And if I run this code now, can you see that? We got the output.', 'start': 512.744, 'duration': 3.284}, {'end': 519.472, 'text': 'So you can see we are not using any XML file here.', 'start': 516.488, 'duration': 2.984}, {'end': 521.475, 'text': 'Everything is annotation based.', 'start': 519.913, 'duration': 1.562}, {'end': 523.62, 'text': 'awesome, right?', 'start': 522.818, 'duration': 0.802}, {'end': 526.463, 'text': 'so this app config needs the object of.', 'start': 523.62, 'duration': 2.843}], 'summary': 'Method annotation fixed to find samsung bin type, enabling xml-free configuration.', 'duration': 31.345, 'max_score': 495.118, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I495118.jpg'}, {'end': 604.281, 'src': 'embed', 'start': 575.751, 'weight': 3, 'content': [{'end': 584.133, 'text': 'So what we need here is so you got the idea about the concept of dependency injection with the help of annotation, right?', 'start': 575.751, 'duration': 8.382}, {'end': 592.435, 'text': "So what we'll do next is we'll try to create another class, not the class, but we want an interface here.", 'start': 584.953, 'duration': 7.482}, {'end': 594.516, 'text': 'So what I will do, I will create an interface.', 'start': 592.875, 'duration': 1.641}, {'end': 600.377, 'text': "We'll say this is interface and this is mobile processor.", 'start': 594.676, 'duration': 5.701}, {'end': 604.281, 'text': 'because every phone needs a processor.', 'start': 601.938, 'duration': 2.343}], 'summary': 'Creating a mobile processor interface for dependency injection', 'duration': 28.53, 'max_score': 575.751, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I575751.jpg'}, {'end': 686.736, 'src': 'heatmap', 'start': 657.282, 'weight': 0.716, 'content': [{'end': 661.225, 'text': 'so we have a mobile processor which is Snapdragon and inside your Samsung class.', 'start': 657.282, 'duration': 3.943}, {'end': 663.467, 'text': 'so every phone needs a processor right.', 'start': 661.225, 'duration': 2.242}, {'end': 665.689, 'text': 'so in this I will create the object of mobile processor.', 'start': 663.467, 'duration': 2.222}, {'end': 669.772, 'text': 'I will say mobile processor.', 'start': 665.689, 'duration': 4.083}, {'end': 674.936, 'text': 'and okay, mobile processor.', 'start': 669.772, 'duration': 5.164}, {'end': 679.612, 'text': 'I will say this is CPU right and for this we require getter and setter.', 'start': 674.936, 'duration': 4.676}, {'end': 681.533, 'text': 'so I will just right click here.', 'start': 679.612, 'duration': 1.921}, {'end': 686.736, 'text': "I will say source, getter, setter, because that's a variable, right.", 'start': 681.533, 'duration': 5.203}], 'summary': 'Creating a mobile processor object with getters and setters for a samsung phone using snapdragon processor.', 'duration': 29.454, 'max_score': 657.282, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I657282.jpg'}], 'start': 174.819, 'title': 'Samsung s7 class and annotation-based configuration', 'summary': "Covers creating a samsung s7 class with a 'config' method, injecting the object using spring and application context, and implementing annotation-based configuration over xml, achieving successful configuration without xml files.", 'chapters': [{'end': 356.208, 'start': 174.819, 'title': 'Creating and injecting samsung s7 class', 'summary': "Covers creating a samsung s7 class with a 'config' method that prints the phone's configuration, and then discusses injecting the object using spring and application context with annotation config, while encountering an illegal state exception.", 'duration': 181.389, 'highlights': ["Creating class Samsung S7 with 'config' method to print phone configuration, including octa-core processor, 4gb RAM, and 12 megapixel camera.", 'Discussing the use of Spring and application context with annotation config for injecting the Samsung object.', 'Encountering an illegal state exception and the need to resolve it.']}, {'end': 709.008, 'start': 357.409, 'title': 'Annotation-based configuration', 'summary': 'Discusses the implementation of annotation-based configuration over xml configuration, demonstrating the creation of an appconfig class with the @configuration annotation to provide objects and the concept of dependency injection using interfaces and classes, culminating in the successful implementation of an annotation-based configuration without the use of xml files.', 'duration': 351.599, 'highlights': ['The chapter demonstrates the creation of an AppConfig class with the @Configuration annotation to provide objects, exemplifying the shift from XML configuration to annotation-based configuration.', 'The implementation of dependency injection is illustrated through the creation of an interface named mobile processor and a class named Snapdragon, showcasing the concept of interfaces and classes in the context of dependency injection.', 'The distinction between XML configuration and annotation-based configuration is clarified, emphasizing the absence of XML files and the use of annotations for object provisioning.']}], 'duration': 534.189, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I174819.jpg', 'highlights': ["Creating class Samsung S7 with 'config' method to print phone configuration, including octa-core processor, 4gb RAM, and 12 megapixel camera.", 'The chapter demonstrates the creation of an AppConfig class with the @Configuration annotation to provide objects, exemplifying the shift from XML configuration to annotation-based configuration.', 'Discussing the use of Spring and application context with annotation config for injecting the Samsung object.', 'The implementation of dependency injection is illustrated through the creation of an interface named mobile processor and a class named Snapdragon, showcasing the concept of interfaces and classes in the context of dependency injection.', 'Encountering an illegal state exception and the need to resolve it.', 'The distinction between XML configuration and annotation-based configuration is clarified, emphasizing the absence of XML files and the use of annotations for object provisioning.']}, {'end': 955.004, 'segs': [{'end': 758.558, 'src': 'embed', 'start': 728.864, 'weight': 0, 'content': [{'end': 733.525, 'text': "It is just the declaration, right? And we're trying to access the object.", 'start': 728.864, 'duration': 4.661}, {'end': 734.765, 'text': 'Of course, it will give you an error.', 'start': 733.765, 'duration': 1}, {'end': 741.987, 'text': 'So if I go to this app and if I run this, so we were expecting the error, right? With a null pointer exception.', 'start': 734.805, 'duration': 7.182}, {'end': 748.649, 'text': 'Then how to provide that object? How to provide this object for mobile CPU? Again, I will not use..', 'start': 742.867, 'duration': 5.782}, {'end': 752.056, 'text': 'new object, new keyword there.', 'start': 750.316, 'duration': 1.74}, {'end': 758.558, 'text': 'so what I will do is I will create the bean inside configuration for every object.', 'start': 752.056, 'duration': 6.502}], 'summary': 'Accessing object declaration results in null pointer exception. object provided inside configuration for every object.', 'duration': 29.694, 'max_score': 728.864, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I728864.jpg'}, {'end': 841.304, 'src': 'heatmap', 'start': 800.517, 'weight': 1, 'content': [{'end': 803.959, 'text': 'if i run this code, uh, we are still getting the error.', 'start': 800.517, 'duration': 3.442}, {'end': 806.461, 'text': "it's because we are not able to connect it.", 'start': 803.959, 'duration': 2.502}, {'end': 814.927, 'text': 'so in order to connect these two, two things in your samsung class, we need to say this is at, oh, at auto wire.', 'start': 806.461, 'duration': 8.466}, {'end': 815.667, 'text': 'so what it will do?', 'start': 814.927, 'duration': 0.74}, {'end': 816.788, 'text': 'it will search.', 'start': 815.667, 'duration': 1.121}, {'end': 818.629, 'text': 'i need the object of cpu.', 'start': 816.788, 'duration': 1.841}, {'end': 820.15, 'text': 'i will check in the app configuration.', 'start': 818.629, 'duration': 1.521}, {'end': 824.673, 'text': 'we already have a method which returns mobile processor.', 'start': 820.15, 'duration': 4.523}, {'end': 827.055, 'text': 'so it will check the type of the return type.', 'start': 824.673, 'duration': 2.382}, {'end': 828.576, 'text': 'it will check the return type.', 'start': 827.055, 'duration': 1.521}, {'end': 835.24, 'text': 'so this auto wired inside the annotation part comes as by default is by type.', 'start': 828.576, 'duration': 6.664}, {'end': 841.304, 'text': 'okay, it will not check the name, it will check the type and if i run this code or not this one, if i run this app,', 'start': 835.24, 'duration': 6.064}], 'summary': 'Error persists due to connection issue, resolved by using @autowired to connect samsung class with cpu object.', 'duration': 40.787, 'max_score': 800.517, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I800517.jpg'}, {'end': 936.266, 'src': 'heatmap', 'start': 907.688, 'weight': 2, 'content': [{'end': 909.729, 'text': 'Inside your app configuration, you have specifying two beans.', 'start': 907.688, 'duration': 2.041}, {'end': 912.41, 'text': 'One is the get phone, and the second one is get processor.', 'start': 909.989, 'duration': 2.421}, {'end': 916.311, 'text': 'And then we have Samsung class, we have mobile processor, and then we have Snapdragon.', 'start': 913.33, 'duration': 2.981}, {'end': 920.833, 'text': "Right? So it's that simple.", 'start': 917.672, 'duration': 3.161}, {'end': 925.317, 'text': "but what if I say you don't have to write these two things?", 'start': 921.772, 'duration': 3.545}, {'end': 928.601, 'text': 'also, that means if I delete this, let me comment this part.', 'start': 925.317, 'duration': 3.284}, {'end': 936.266, 'text': "so if I comment this part it should still work and if I run this code it's not working.", 'start': 928.601, 'duration': 7.665}], 'summary': 'App configuration specifies two beans, get phone and get processor, but code does not work when one part is commented out.', 'duration': 28.578, 'max_score': 907.688, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I907688.jpg'}], 'start': 709.688, 'title': 'Java bean configuration', 'summary': 'Covers object declaration, access, and configuration in java, including methods to provide objects for mobile cpus, implementing auto wiring, and configuring spring beans to simplify configuration and handle multiple files.', 'chapters': [{'end': 752.056, 'start': 709.688, 'title': 'Object declaration and access', 'summary': 'Discusses the issue of accessing an object without its creation, leading to a null pointer exception, and explores the method to provide the object for mobile cpu without using the new keyword.', 'duration': 42.368, 'highlights': ['The issue of accessing an object without its creation leads to a null pointer exception. When attempting to access the object without creating it, an error occurs, resulting in a null pointer exception.', 'Exploration of methods to provide the object for mobile CPU without using the new keyword. The chapter discusses alternative methods to provide the object for mobile CPU without relying on the new keyword, offering insights into efficient object provision techniques.']}, {'end': 847.12, 'start': 752.056, 'title': 'Configuring beans and auto wiring in java', 'summary': "Discusses creating beans with annotations for object configuration, specifically focusing on creating a method to return an object of a mobile processor, and implementing auto wiring to connect the objects, resulting in the successful output of 'world best cpu'.", 'duration': 95.064, 'highlights': ['Creating a method to return an object of a mobile processor is essential for object configuration, such as specifying a method name and concrete implementation, like Snapdragon, to connect the objects.', "Implementing auto wiring in the Samsung class is crucial to connect the objects, as it searches for the object of CPU in the app configuration and checks the return type to successfully output 'world best CPU'."]}, {'end': 955.004, 'start': 847.12, 'title': 'Understanding spring bean configuration', 'summary': 'Explains the process of configuring spring beans and how to simplify the configuration by using the override annotation, also discussing the need for configuration classes and the possibility of having multiple configuration files.', 'duration': 107.884, 'highlights': ['The chapter demonstrates the use of the override annotation to simplify Spring bean configuration, enabling automatic object creation and reducing the need for manual configuration.', 'It explains the necessity of configuration classes in Spring, emphasizing the requirement to specify beans inside the app configuration and the possibility of having multiple configuration files.', 'The chapter addresses the query of whether it is possible to achieve bean configuration without explicitly writing the bean definitions, indicating a focus on simplifying the configuration process.']}], 'duration': 245.316, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5zUTc-kge8I/pics/5zUTc-kge8I709688.jpg', 'highlights': ['Exploring methods to provide object for mobile CPU without using new keyword', 'Implementing auto wiring in Samsung class to connect objects', 'Demonstrating use of override annotation to simplify Spring bean configuration']}], 'highlights': ['The chapter emphasizes the usage of annotations for configuring a Spring application, providing guidance on creating a Maven project and adding Spring dependencies, with a focus on achieving dependency injection.', 'The video provides an understanding of Spring Framework, Maven usage for creating a Spring application, and the configuration of a Spring application with annotations.', 'The chapter introduces the process of creating a Maven project, highlighting the advantage of using Maven to download all the required libraries.', "Creating class Samsung S7 with 'config' method to print phone configuration, including octa-core processor, 4gb RAM, and 12 megapixel camera.", 'The chapter demonstrates the creation of an AppConfig class with the @Configuration annotation to provide objects, exemplifying the shift from XML configuration to annotation-based configuration.', 'Discussing the use of Spring and application context with annotation config for injecting the Samsung object.', 'The implementation of dependency injection is illustrated through the creation of an interface named mobile processor and a class named Snapdragon, showcasing the concept of interfaces and classes in the context of dependency injection.', 'Encountering an illegal state exception and the need to resolve it.', 'The distinction between XML configuration and annotation-based configuration is clarified, emphasizing the absence of XML files and the use of annotations for object provisioning.', 'Exploring methods to provide object for mobile CPU without using new keyword', 'Implementing auto wiring in Samsung class to connect objects', 'Demonstrating use of override annotation to simplify Spring bean configuration']}