Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
0
1
00:00:01,450 --> 00:00:02,530
Hey, in this video,
1
2
00:00:02,530 --> 00:00:05,163
we're going to find out why should we use Spring.
2
3
00:00:07,900 --> 00:00:09,930
So, Spring in a nutshell.
3
4
00:00:09,930 --> 00:00:12,450
Basically, Spring is a very popular framework
4
5
00:00:12,450 --> 00:00:15,630
for building enterprise Java applications.
5
6
00:00:15,630 --> 00:00:16,960
When Spring first came out,
6
7
00:00:16,960 --> 00:00:21,510
it was initially a simpler, lightweight alternative to J2EE.
7
8
00:00:21,510 --> 00:00:24,440
They basically give you a large number of helper classes
8
9
00:00:24,440 --> 00:00:26,913
to make enterprise development easier.
9
10
00:00:28,810 --> 00:00:32,980
But now, you may wonder, well, what about J2EE or Java EE?
10
11
00:00:32,980 --> 00:00:35,960
And here, they have client-side presentation,
11
12
00:00:35,960 --> 00:00:38,040
they talked about server-side presentation
12
13
00:00:38,040 --> 00:00:41,640
with JSP, servlets, XML, and Web Services.
13
14
00:00:41,640 --> 00:00:44,640
They also discussed the idea of server-side business logic
14
15
00:00:44,640 --> 00:00:48,380
using Enterprise JavaBeans, Web Services, and so on.
15
16
00:00:48,380 --> 00:00:50,970
And all talk into a backend database.
16
17
00:00:50,970 --> 00:00:52,880
And this all looks really good on paper
17
18
00:00:52,880 --> 00:00:54,220
and as the developers,
18
19
00:00:54,220 --> 00:00:58,280
we were very excited when we saw this, viewing it on paper,
19
20
00:00:58,280 --> 00:00:59,790
but what happened is that when we actually got
20
21
00:00:59,790 --> 00:01:02,980
into the implementation details, it was another story,
21
22
00:01:02,980 --> 00:01:05,080
and I'll talk more about that in a second.
22
23
00:01:07,600 --> 00:01:09,750
All right, so how did J2EE grow up?
23
24
00:01:09,750 --> 00:01:11,920
Well, in the early days, it started out really nice.
24
25
00:01:11,920 --> 00:01:14,930
You had servlets, JSPs back in 1999.
25
26
00:01:14,930 --> 00:01:18,070
You also had Enterprise JavaBeans, Java Message Service,
26
27
00:01:18,070 --> 00:01:20,130
and RMI, Remote Method Invocation.
27
28
00:01:20,130 --> 00:01:20,963
And then over the years,
28
29
00:01:20,963 --> 00:01:24,050
they added more support for EJB with 1.3.
29
30
00:01:24,050 --> 00:01:28,212
They added, in J2EE 1.4, they added Web Services.
30
31
00:01:28,212 --> 00:01:31,200
In Java EE 5, they kind of renamed it a bit,
31
32
00:01:31,200 --> 00:01:33,020
so it's Java Enterprise Edition 5.
32
33
00:01:33,020 --> 00:01:35,070
They dropped the J2EE thing.
33
34
00:01:35,070 --> 00:01:37,603
And then they added some ease of use for EJB 3,
34
35
00:01:38,721 --> 00:01:42,920
JPA, JSF, JAXB, and JAX-WS or Web Services.
35
36
00:01:42,920 --> 00:01:45,450
And then with EE 6 again, they pruned,
36
37
00:01:45,450 --> 00:01:48,330
meaning they got rid of some stuff that didn't work,
37
38
00:01:48,330 --> 00:01:51,000
mainly some of the EJB problems,
38
39
00:01:51,000 --> 00:01:54,160
and also, they made it easier to use so on and so forth.
39
40
00:01:54,160 --> 00:01:58,173
They had a support for CDI, Context Dependency Injection.
40
41
00:01:59,720 --> 00:02:01,390
And then finally, in Java EE 7,
41
42
00:02:01,390 --> 00:02:03,940
they added support for JMS version two,
42
43
00:02:03,940 --> 00:02:07,490
Batch, Concurrency, Web Sockets, and so on.
43
44
00:02:07,490 --> 00:02:10,920
So, that's kind of how J2EE grew up over time.
44
45
00:02:10,920 --> 00:02:15,100
So, servlets and JSPs were like the initial popular items
45
46
00:02:15,100 --> 00:02:18,193
and then they started adding other things along the way.
46
47
00:02:20,200 --> 00:02:22,040
Now, the one thing they added along the way
47
48
00:02:22,040 --> 00:02:23,980
was Enterprise JavaBeans.
48
49
00:02:23,980 --> 00:02:26,670
And so, EJB is like your cousin
49
50
00:02:26,670 --> 00:02:29,120
or your family member that you just don't really like
50
51
00:02:29,120 --> 00:02:31,740
because they just mess things up for everybody.
51
52
00:02:31,740 --> 00:02:35,290
So, the early versions of Enterprise JavaBeans,
52
53
00:02:35,290 --> 00:02:39,410
versions one and two, were extremely complexly developed.
53
54
00:02:39,410 --> 00:02:43,070
You had to create these XML deployment descriptors.
54
55
00:02:43,070 --> 00:02:46,060
You had to define multiple interfaces.
55
56
00:02:46,060 --> 00:02:48,220
So, like we have on this diagram here,
56
57
00:02:48,220 --> 00:02:52,150
to create a Bean Class, we had to have a Home Interface
57
58
00:02:52,150 --> 00:02:53,990
and then a Component Interface,
58
59
00:02:53,990 --> 00:02:57,200
and you basically had, like, three or three .java files
59
60
00:02:57,200 --> 00:03:00,380
just for an actual Bean implementation.
60
61
00:03:00,380 --> 00:03:01,650
So, just a lot of work.
61
62
00:03:01,650 --> 00:03:03,830
It was really clunky for a developer
62
63
00:03:03,830 --> 00:03:05,850
to write all of this code.
63
64
00:03:05,850 --> 00:03:08,390
It was very tedious and very error prone.
64
65
00:03:08,390 --> 00:03:10,710
But once you've finally got the Bean developed
65
66
00:03:10,710 --> 00:03:13,730
and deployed it, and you deployed it in production,
66
67
00:03:13,730 --> 00:03:17,830
then you are slapped with another problem: poor performance.
67
68
00:03:17,830 --> 00:03:19,690
So, these Entity Beans,
68
69
00:03:19,690 --> 00:03:23,210
basically mappings between Java classes and database tables,
69
70
00:03:23,210 --> 00:03:25,970
ah, just awful slow, just terribly slow.
70
71
00:03:25,970 --> 00:03:27,570
Like, we actually had to do,
71
72
00:03:27,570 --> 00:03:31,460
on one deployment, we actually had to pull our code
72
73
00:03:31,460 --> 00:03:33,300
back out of the production
73
74
00:03:33,300 --> 00:03:35,590
and actually remove the EJB functionality
74
75
00:03:35,590 --> 00:03:38,260
because it slowed everything down.
75
76
00:03:38,260 --> 00:03:41,260
And so, what happened over time is that a lot of developers
76
77
00:03:41,260 --> 00:03:44,500
started to continue to do J2EE
77
78
00:03:44,500 --> 00:03:48,403
but they actually would do it without Enterprise JavaBeans.
78
79
00:03:49,650 --> 00:03:50,860
And so, this kind of caught on
79
80
00:03:50,860 --> 00:03:52,680
with other development teams too
80
81
00:03:52,680 --> 00:03:55,000
and pretty much, a lot of folks are doing it.
81
82
00:03:55,000 --> 00:03:56,960
So, this one fellow, Rod Johnson,
82
83
00:03:56,960 --> 00:03:58,250
he actually wrote this great book
83
84
00:03:58,250 --> 00:04:02,350
called J2EE Development without EJB.
84
85
00:04:02,350 --> 00:04:04,320
So, EJB was very popular at one point,
85
86
00:04:04,320 --> 00:04:06,010
then it fell out of favor.
86
87
00:04:06,010 --> 00:04:07,420
And so, he pushed that out
87
88
00:04:07,420 --> 00:04:09,840
and they also started working on the Spring Framework.
88
89
00:04:09,840 --> 00:04:11,810
And so, they released another book,
89
90
00:04:11,810 --> 00:04:15,180
Java Development with the Spring Framework.
90
91
00:04:15,180 --> 00:04:17,980
So, EJB was kind of like that bad cousin
91
92
00:04:17,980 --> 00:04:20,110
or that bad uncle that you just didn't want in the family
92
93
00:04:20,110 --> 00:04:23,943
because they mess it up for everybody.
7893
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.