All language subtitles for 4. Spring Core Framework - Part 1

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese Download
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 1 00:00:00,500 --> 00:00:01,590 Hey, in this video, 2 2 00:00:01,590 --> 00:00:04,340 I'm going to give you an overview of the Spring Framework. 3 3 00:00:06,700 --> 00:00:09,990 So, first off, here's the official website for Spring. 4 4 00:00:09,990 --> 00:00:12,020 It's at www.spring.io. 5 5 00:00:12,020 --> 00:00:13,010 So, this is where you can get 6 6 00:00:13,010 --> 00:00:14,730 all the documentation for Spring, 7 7 00:00:14,730 --> 00:00:17,710 you can download Spring, you can look at some tutorials 8 8 00:00:17,710 --> 00:00:20,020 and also some getting started guides, 9 9 00:00:20,020 --> 00:00:23,033 and we'll use this website a lot during this course. 10 10 00:00:25,597 --> 00:00:27,290 So, why Spring? 11 11 00:00:27,290 --> 00:00:30,330 And I covered this in the last video, but again, 12 12 00:00:30,330 --> 00:00:33,940 in a nutshell, it's to simplify Java Enterprise Development, 13 13 00:00:33,940 --> 00:00:36,100 make it much simpler than what we had 14 14 00:00:36,100 --> 00:00:38,240 in J2EE or Java EE, 15 15 00:00:38,240 --> 00:00:39,923 and I gave all the pros and cons for that 16 16 00:00:39,923 --> 00:00:41,823 in the previous video. 17 17 00:00:42,800 --> 00:00:44,470 So, here, let's kind of drill down a bit 18 18 00:00:44,470 --> 00:00:47,590 and talk about the goals of Spring, like what are the goals. 19 19 00:00:47,590 --> 00:00:51,047 Well, first off, lightweight development with Java POJOs, 20 20 00:00:51,047 --> 00:00:53,940 and POJOs mean Plain Old Java Objects, 21 21 00:00:53,940 --> 00:00:55,500 make it much simpler to build, 22 22 00:00:55,500 --> 00:00:57,487 as compared to the heavyweight EJBs 23 23 00:00:57,487 --> 00:01:00,573 from the early versions of J2EE. 24 24 00:01:01,630 --> 00:01:03,660 And then also, we want to promote loose coupling 25 25 00:01:03,660 --> 00:01:06,100 by making use of dependency injection. 26 26 00:01:06,100 --> 00:01:08,332 So instead of hard wiring your objects together, 27 27 00:01:08,332 --> 00:01:11,640 you simply specify the wiring via a configuration file 28 28 00:01:11,640 --> 00:01:15,250 or annotations, and we'll cover that a lot in this course. 29 29 00:01:15,250 --> 00:01:17,580 Then the next idea is declarative programming 30 30 00:01:17,580 --> 00:01:19,820 with Aspect Oriented Programming, or AOP. 31 31 00:01:19,820 --> 00:01:22,800 This'll basically allow you to add 32 32 00:01:22,800 --> 00:01:26,763 some applicationwide services to your given objects. 33 33 00:01:29,080 --> 00:01:30,660 And then finally, the main thing here 34 34 00:01:30,660 --> 00:01:33,480 is to minimize boilerplate Java code. 35 35 00:01:33,480 --> 00:01:36,530 So in the early days of J2EE, there was a lot of code 36 36 00:01:36,530 --> 00:01:38,850 that you had to write, and so the folks at Spring, 37 37 00:01:38,850 --> 00:01:40,917 they created a collection of helper classes 38 38 00:01:40,917 --> 00:01:42,700 to make it easier, 39 39 00:01:42,700 --> 00:01:45,900 and again, to minimize all of the boilerplate code, 40 40 00:01:45,900 --> 00:01:47,490 and we'll see some examples of that 41 41 00:01:47,490 --> 00:01:48,940 a little later in the course. 42 42 00:01:50,810 --> 00:01:53,290 Now, this is kind of a big picture here, 43 43 00:01:53,290 --> 00:01:54,750 of the Spring Framework and this is kind of 44 44 00:01:54,750 --> 00:01:56,580 like the core Framework. 45 45 00:01:56,580 --> 00:01:57,940 And what I'll do is I'll actually 46 46 00:01:57,940 --> 00:02:00,160 go through these various sections here 47 47 00:02:00,160 --> 00:02:01,429 and just give you a quick overview, 48 48 00:02:01,429 --> 00:02:03,513 as far as what they're about. 49 49 00:02:06,310 --> 00:02:07,720 Alright, so let's go ahead and start here 50 50 00:02:07,720 --> 00:02:09,210 with the Core Container. 51 51 00:02:09,210 --> 00:02:12,850 So the Core Container's like the heartthrob, the main, 52 52 00:02:12,850 --> 00:02:15,490 I guess, the main item here of Spring. 53 53 00:02:15,490 --> 00:02:18,334 So basically, it manages how Beans are created. 54 54 00:02:18,334 --> 00:02:22,200 It has a Bean factory for creating the Beans. 55 55 00:02:22,200 --> 00:02:24,360 It basically can reconfig. files 56 56 00:02:24,360 --> 00:02:26,676 for setting properties, independencies 57 57 00:02:26,676 --> 00:02:30,330 and also the Context here's really the Spring Container 58 58 00:02:30,330 --> 00:02:32,500 that holds the Beans in memory. 59 59 00:02:32,500 --> 00:02:34,273 And then there's SpEL, 60 60 00:02:34,273 --> 00:02:35,900 that's for the Spring Expression Language, 61 61 00:02:35,900 --> 00:02:38,010 so it's a little language we can use 62 62 00:02:38,010 --> 00:02:40,240 within the config. files to refer to other Beans, 63 63 00:02:40,240 --> 00:02:41,720 and we'll see example of that later. 64 64 00:02:41,720 --> 00:02:43,070 But that's kind of the Core Container, 65 65 00:02:43,070 --> 00:02:46,363 for creating Beans and then making those Beans available. 66 66 00:02:48,610 --> 00:02:50,490 So let's move over to the AOP section. 67 67 00:02:50,490 --> 00:02:52,200 So this is where you have support 68 68 00:02:52,200 --> 00:02:54,206 for Aspect Oriented Programming. 69 69 00:02:54,206 --> 00:02:57,450 So basically, what AOP, in a nutshell, 70 70 00:02:57,450 --> 00:03:01,000 it allows you to create these applicationwide services, 71 71 00:03:01,000 --> 00:03:06,000 like logging, security, transactions, instrumentation 72 72 00:03:06,330 --> 00:03:09,010 and then you can apply these services to your objects 73 73 00:03:09,010 --> 00:03:12,990 in a declarative fashion, so no need to modify your code 74 74 00:03:12,990 --> 00:03:14,550 to have support for this. 75 75 00:03:14,550 --> 00:03:16,990 You simply add a config. in the config. file 76 76 00:03:16,990 --> 00:03:18,460 or an annotation, 77 77 00:03:18,460 --> 00:03:22,090 and that service will be applied to your application. 78 78 00:03:22,090 --> 00:03:23,916 And we'll see examples of this, 79 79 00:03:23,916 --> 00:03:26,281 primarily when we get into some transaction work, 80 80 00:03:26,281 --> 00:03:29,131 but some other areas too we'll play around with it a bit. 81 81 00:03:30,940 --> 00:03:32,130 So then, moving forward here, 82 82 00:03:32,130 --> 00:03:35,314 let's take a look at the Data Access section or integration. 83 83 00:03:35,314 --> 00:03:38,270 So basically, here, this is for communicating 84 84 00:03:38,270 --> 00:03:40,360 with the database, either a relational database 85 85 00:03:40,360 --> 00:03:42,050 or a NoSQL database. 86 86 00:03:42,050 --> 00:03:44,740 And also, making use of, like, a message queue. 87 87 00:03:44,740 --> 00:03:46,662 So on the top left, you have JDBC. 88 88 00:03:46,662 --> 00:03:49,360 Basically, Spring provides some helper classes 89 89 00:03:49,360 --> 00:03:53,320 to make it much easier to access a database, using JDBC. 90 90 00:03:53,320 --> 00:03:56,480 And, by using these Spring JDBC classes, 91 91 00:03:56,480 --> 00:04:00,670 you can actually reduce your source code by over 50%, 92 92 00:04:00,670 --> 00:04:03,380 so a lot of good helper classes there. 93 93 00:04:03,380 --> 00:04:05,230 The next little bullet there is ORM, 94 94 00:04:05,230 --> 00:04:07,128 for Object to Relational Mapping. 95 95 00:04:07,128 --> 00:04:08,997 This is probably the most popular section 96 96 00:04:08,997 --> 00:04:10,841 of this module, here. 97 97 00:04:10,841 --> 00:04:14,410 Basically, it allows you to hook into Hibernate, 98 98 00:04:14,410 --> 00:04:15,580 or hook into JPAs. 99 99 00:04:15,580 --> 00:04:17,630 A lot of support and a lot of synergy 100 100 00:04:17,630 --> 00:04:19,393 between Spring and Hibernate. 8701

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.