WEBVTT

1
00:00:01.280 --> 00:00:03.460
<v Instructor>So let's look at the release timeline.</v>

2
00:00:03.460 --> 00:00:06.710
So here's the timeline for J2EE, or Java EE.

3
00:00:06.710 --> 00:00:08.800
Started off in '99, moved all the way down

4
00:00:08.800 --> 00:00:12.520
to our current state here of Java EE 7 in 2013,

5
00:00:12.520 --> 00:00:17.520
Java EE 8 which is coming real soon, 2016/2017.

6
00:00:17.620 --> 00:00:22.620
And then, basically around the 2001/2003 timeframe,

7
00:00:23.030 --> 00:00:24.680
that's when everyone was just kind of fed

8
00:00:24.680 --> 00:00:26.060
up with Enterprise JavaBeans

9
00:00:26.060 --> 00:00:28.240
and just didn't want to do it anymore.

10
00:00:28.240 --> 00:00:31.910
So that's when Spring 1.0 came out, around 2004

11
00:00:31.910 --> 00:00:34.100
because prior to that, EJBs were just horrible

12
00:00:34.100 --> 00:00:35.650
and no-one wanted to use it anymore.

13
00:00:35.650 --> 00:00:36.650
So you came out with Spring,

14
00:00:36.650 --> 00:00:39.275
Spring 1, Spring 2, Spring 3, and so on.

15
00:00:39.275 --> 00:00:42.410
One thing that's interesting here is that the folks

16
00:00:42.410 --> 00:00:45.180
at Sun Microsystems at the time before they were acquired

17
00:00:45.180 --> 00:00:48.856
by Oracle, at the time they realized, "Whoa,

18
00:00:48.856 --> 00:00:51.617
"What's this Spring thing and whoa, why is everyone

19
00:00:51.617 --> 00:00:55.020
"moving towards it and why's everyone using it now?"

20
00:00:55.020 --> 00:00:56.630
Mainly because of EJB.

21
00:00:56.630 --> 00:00:58.140
Folks were tired of EJB.

22
00:00:58.140 --> 00:01:00.750
So the folks at Sun actually went back and kind of,

23
00:01:00.750 --> 00:01:05.320
re-engineered or re-wrote EJB to make it simpler

24
00:01:05.320 --> 00:01:07.300
and make it easier to use.

25
00:01:07.300 --> 00:01:11.810
So that came around the 2006/2009 timeframe.

26
00:01:11.810 --> 00:01:15.630
So effectively, by the time you made it to Java EE 6,

27
00:01:15.630 --> 00:01:17.010
they'd actually cleaned up the problems

28
00:01:17.010 --> 00:01:19.110
that they had with EJB and actually made it a little

29
00:01:19.110 --> 00:01:20.250
bit easier to use.

30
00:01:20.250 --> 00:01:21.690
So effectively, the same thing as Spring.

31
00:01:21.690 --> 00:01:23.050
It has the Inversion of Control,

32
00:01:23.050 --> 00:01:24.460
it has Dependency Injection.

33
00:01:24.460 --> 00:01:26.885
So current day here, Java EE 7,

34
00:01:26.885 --> 00:01:31.520
you can really do everything that Spring can do,

35
00:01:31.520 --> 00:01:32.610
with Java EE 7.

36
00:01:32.610 --> 00:01:34.310
So you can do all the annotations,

37
00:01:34.310 --> 00:01:38.770
no XML stuff, just like Spring and it's really easy

38
00:01:38.770 --> 00:01:40.010
to do now.

39
00:01:40.010 --> 00:01:43.200
The only problem though is that they were just a little bit

40
00:01:43.200 --> 00:01:47.040
too late and unfortunately, EJB just kind of has a bad name

41
00:01:47.040 --> 00:01:52.040
or a bad reputation and also, Spring has huge momentum,

42
00:01:53.450 --> 00:01:54.760
huge market share.

43
00:01:54.760 --> 00:01:56.430
So there's a lot of Apps that are already

44
00:01:56.430 --> 00:01:58.071
out there written using Spring

45
00:01:58.071 --> 00:02:00.470
and there's a lot more that are going to be created

46
00:02:00.470 --> 00:02:01.303
using Spring.

47
00:02:01.303 --> 00:02:03.407
So that's why Spring is very popular now

48
00:02:03.407 --> 00:02:05.410
and kind of why it's still popular.

49
00:02:05.410 --> 00:02:06.880
It's a lightweight framework, it's simple,

50
00:02:06.880 --> 00:02:09.950
easy to use and a lot of developers like it.

51
00:02:09.950 --> 00:02:13.360
And they basically ran away from the old days of EJB

52
00:02:13.360 --> 00:02:14.990
and J2EE.

53
00:02:14.990 --> 00:02:16.630
So that's kind of the big spiel.

54
00:02:16.630 --> 00:02:19.170
But really now, if you put both technologies

55
00:02:19.170 --> 00:02:22.680
side by side, you can do the same with either one.

56
00:02:22.680 --> 00:02:24.510
But again, the whole reputation thing

57
00:02:24.510 --> 00:02:26.103
and also, the momentum thing.

58
00:02:27.110 --> 00:02:29.743
So as I mentioned, Spring is very popular,

59
00:02:30.792 --> 00:02:31.810
it has a lot of market share,

60
00:02:31.810 --> 00:02:33.590
it has a lot of projects written in it.

61
00:02:33.590 --> 00:02:35.990
And Spring is still in demand.

62
00:02:35.990 --> 00:02:38.540
It's the most sought after Java skillset by employers

63
00:02:38.540 --> 00:02:39.680
and recruiters.

64
00:02:39.680 --> 00:02:42.500
And, this is really funny, I actually have a friend

65
00:02:42.500 --> 00:02:44.950
of mine, I used to work with him on a previous job,

66
00:02:44.950 --> 00:02:47.300
he's actually in the process now of interviewing

67
00:02:47.300 --> 00:02:50.008
for a new position and I spoke with him last week.

68
00:02:50.008 --> 00:02:51.757
He sent me a message and he said,

69
00:02:51.757 --> 00:02:52.590
"Hey."

70
00:02:52.590 --> 00:02:55.077
and this is his actual text message,

71
00:02:55.077 --> 00:02:57.797
"Man, everybody and their mama keeps asking

72
00:02:57.797 --> 00:02:58.997
"me about Spring.

73
00:02:58.997 --> 00:03:01.620
"You better get started on that Udemy course lol."

74
00:03:01.620 --> 00:03:04.220
And again, this is some American slang here,

75
00:03:04.220 --> 00:03:05.380
everybody and their mama meaning,

76
00:03:05.380 --> 00:03:07.940
basically every recruiter he's talked to

77
00:03:07.940 --> 00:03:09.942
and every employer he's interviewed with,

78
00:03:09.942 --> 00:03:12.900
they are asking him a good deal about Spring.

79
00:03:12.900 --> 00:03:15.410
So again, very good skillset for you to have

80
00:03:15.410 --> 00:03:16.363
on your resume.

81
00:03:17.560 --> 00:03:19.320
So you may have the question, what should you do?

82
00:03:19.320 --> 00:03:20.620
Should you learn Spring?

83
00:03:20.620 --> 00:03:22.410
Or should you learn Java EE?

84
00:03:22.410 --> 00:03:25.210
And my answer's that you should learn both.

85
00:03:25.210 --> 00:03:26.043
Right?

86
00:03:26.043 --> 00:03:27.900
The reason is because now you'll be flexible

87
00:03:27.900 --> 00:03:30.250
in the job market and if you go on a job interview,

88
00:03:30.250 --> 00:03:32.350
or you join a new project team,

89
00:03:32.350 --> 00:03:34.540
you'll be able to handle either one of them.

90
00:03:34.540 --> 00:03:38.040
And a really cool thing about it is that a lot of the skills

91
00:03:38.040 --> 00:03:41.580
are interchangeable, especially now since Spring and Java EE

92
00:03:41.580 --> 00:03:44.660
are kind of in line, or in sync with their feature set.

93
00:03:44.660 --> 00:03:48.306
So once you learn how to do MVC in one framework

94
00:03:48.306 --> 00:03:50.810
then learning how to do MVC in another framework

95
00:03:50.810 --> 00:03:51.990
is similar.

96
00:03:51.990 --> 00:03:54.516
Implementing it is very similar between Java EE

97
00:03:54.516 --> 00:03:55.940
and also with Spring.

98
00:03:55.940 --> 00:03:59.470
So I'd say learn both of them and you'll learn Spring

99
00:03:59.470 --> 00:04:00.900
in this class for sure,

100
00:04:00.900 --> 00:04:02.810
I'll show you how to use Spring MVC,

101
00:04:02.810 --> 00:04:05.320
and also I'll show you how to hook all this into a database

102
00:04:05.320 --> 00:04:06.560
using Hibernate.

103
00:04:06.560 --> 00:04:08.120
And then I have a lot of other courses

104
00:04:08.120 --> 00:04:09.970
that cover some of the Java EE technologies

105
00:04:09.970 --> 00:04:12.680
like JSP, Servelet and JSF, if you wanted

106
00:04:12.680 --> 00:04:14.803
to go and check out some of my other courses

107
00:04:14.803 --> 00:04:17.480
on learning those other Java EE technologies.

108
00:04:17.480 --> 00:04:19.098
Anyway, I say learn them both,

109
00:04:19.098 --> 00:04:21.050
you're a smart person, right.

110
00:04:21.050 --> 00:04:22.930
And it's easy to pick up on them once you learn

111
00:04:22.930 --> 00:04:26.680
one technology it's easy to jump into the next technology.

112
00:04:26.680 --> 00:04:28.650
So anyways, I'd recommend picking

113
00:04:28.650 --> 00:04:30.150
up both of those technologies.

114
00:04:31.970 --> 00:04:34.080
So this kind of wraps up the video.

115
00:04:34.080 --> 00:04:36.630
I wanted to give you some motivation on why Spring.

116
00:04:36.630 --> 00:04:38.440
Give you a little bit of background on the history

117
00:04:38.440 --> 00:04:42.350
of J2EE, and kind of where Spring came into play.

118
00:04:42.350 --> 00:04:43.960
In the following videos I'll give you

119
00:04:43.960 --> 00:04:45.780
a more formal discussion of Spring

120
00:04:45.780 --> 00:04:48.250
as far as the various components of the framework

121
00:04:48.250 --> 00:04:50.580
and then of course, we're going to start diving

122
00:04:50.580 --> 00:04:53.100
in to writing code using Spring.

123
00:04:53.100 --> 00:04:55.060
So we have a lot of good things coming up here,

124
00:04:55.060 --> 00:04:56.610
I'll see you in the next video.

