Instructor: JMS, for Java Message Service, 2 2
allows you to send messages to a message queue 3 3
in an asynchronous fashion. 4 4
That's a core part of JAVA EE. 5 5
Here, they basically provide helper classes 6 6
to allow you to make use of the Java Message Service, 7 7
and again, you can reduce your code by over 50% 8 8
by making use of Spring's JMS integration. 9 9
And then also, Spring has support 10 10
for a transaction manager or supporting transactions, 11 11
and you can do this in a very lightweight fashion. 12 12
So you can make use of transactions on methods, 13 13
on database calls, and pretty much anything you want. 14 14
It's very flexible. 15 15
And a lot of other projects in the world or on the web, 16 16
make use of the Spring transaction manager. 17 17
This is basically the home for the Spring MVC framework. 18 18
So you can build web applications 19 19
using the Spring Core, and also making use 20 20
of Spring Controllers and Spring View, 21 21
so you have a full MVC layout here, 22 22
and we'll cover this a good deal later on in the course. 23 23
They also have other modules here 24 24
where you can actually interface 25 25
with other web technologies, like maybe JSF or Struts, 26 26
you can do that, but pretty much, 27 27
if you're using Spring already, 28 28
then it makes sense to just go ahead and use Spring MVC. 29 29
No need to pull in any other APIs, 30 30
but you can do that if you want. 31 31
They also have support from remoting here, 32 32
so you can actually make use of web remoting, 33 33
where you can have external clients 34 34
make calls into the Spring container. 35 35
Think of this like a way 36 36
of doing remote procedure calls or RPC, 37 37
or also doing distributed computed. 38 38
So that's available also in this web module. 39 39
Then moving down here, 40 40
there's this other item here, Instrumentation. 41 41
So basically, Spring has a lot of sophisticated, 42 42
fancy technology behind the scenes, 43 43
and so here, you can actually make use 44 44
of class loader implementations 45 45
to work with different apps service. 46 46
For example, it can be used to create a Java agent, 47 47
so you can remotely monitor 48 48
and instrument your application using JMX. 49 49
As a developer, 50 50
you wouldn't normally build an agent yourself. 51 51
You would simply use the agents 52 52
provided by the Spring team or your app server vendor. 53 53
But the nice thing about it 54 54
is to know that behind the scenes, 55 55
it's making use of some really cool technologies, 56 56
such as AOP coding, bytecode manipulation, and so on. 57 57
So that's what you get in the instrumentation model. 58 58
Spring has support for test-driven development, 59 59
so the framework includes mock objects 60 60
for mocking out servlets, JNDI access, and so on. 61 61
And you can do all of this outside of the container. 62 62
You can also make use of integration test 63 63
by creating an application context 64 64
and wiring up your desired object. 65 65
So testing is a first-class citizen here 66 66
when making use of the Spring framework, 67 67
so there's a lot of good support for it. 68 68
So that's basically it. 69 69
So that's a high-level discussion here 70 70
of the Spring framework. 71 71
In some of the following videos, we're gonna move forward 72 72
and we're gonna focus on the work 73 73
with the Spring Core container. 74 74
We'll also make use of the Spring Web for doing Spring MVC. 75 75
And then we'll also make use 76 76
of Spring Data Access and Integration. 77 77
So those are the key items 78 78
that we'll take a look at in this course.