Project

General

Profile

Sample-spring-basic » History » Version 15

Henning Blohm, 14.09.2012 12:18

1 8 Henning Blohm
h1. A basic Spring with Z2 modularity sample
2 2 Henning Blohm
3
The sample contained in the repository "z2-samples.spring-basic":http://redmine.z2-environment.net/projects/z2-samples/repository/z2-samples-spring-basic is a clean room example on how to use the Spring integration features described in [[how_to_spring]].
4
5 10 Henning Blohm
There is no further pre-requisite to running this sample, and you may proceed as described in [[How to run a sample]]. Here's the really fast version:
6
7 11 Henning Blohm
<pre><code class="ruby">
8 10 Henning Blohm
mkdir install
9
cd install 
10
git clone -b master http://git.z2-environment.net/z2-base.core
11
git clone -b master http://git.z2-environment.net/z2-samples.spring-basic
12
13 11 Henning Blohm
# on Linux / Mac OS:
14 10 Henning Blohm
cd z2-base.core/run/bin
15
./gui.sh
16
17
# on Windows:
18 12 Henning Blohm
cd z2-base.core\run\bin
19 10 Henning Blohm
gui.bat
20
</code></pre>
21
22 15 Henning Blohm
If you want to inspect the code using Eclipse, please create a workspace in install (i.e. *install/workspace*) and import the Git repositories and projects (see also [[Step_3_-_First_steps_with_Z2_on_Git|First steps]]).
23 2 Henning Blohm
24
There are two modules contained in this sample:
25
26
h2. com.zfabrik.samples.spring-basic.services
27
28 6 Henning Blohm
This module has a classpath defined "applicationContext":http://redmine.z2-environment.net/projects/z2-samples/repository/z2-samples-spring-basic/revisions/master/entry/com.zfabrik.samples.spring-basic.services/java/src.impl/META-INF/applicationContext.xml and exposes an annotation defined bean "ComputationServiceImpl":http://redmine.z2-environment.net/projects/z2-samples/repository/z2-samples-spring-basic/revisions/master/entry/com.zfabrik.samples.spring-basic.services/java/src.impl/com/zfabrik/samples/impl/services/ComputationServiceImpl.java bean from it as a service to be consumed from another module: The *computations* bean.
29 2 Henning Blohm
30
h2. com.zfabrik.samples.spring-basic.frontend
31
32 4 Henning Blohm
This module has a Web application with an application context defined in WEB-INF/applicationContext. It uses Spring AspectJ based annotation driven configuration to inject dependencies into instances of "ControllerServlet":http://redmine.z2-environment.net/projects/z2-samples/repository/z2-samples-spring-basic/revisions/master/entry/com.zfabrik.samples.spring-basic.frontend/java/src.impl/com/zfabrik/samples/impl/frontend/ControllerServlet.java.
33 3 Henning Blohm
34
It's "application context":http://redmine.z2-environment.net/projects/z2-samples/repository/z2-samples-spring-basic/revisions/master/entry/com.zfabrik.samples.spring-basic.frontend/web/WebContent/WEB-INF/applicationContext.xml imports the *computations* service from the other module above.
35 7 Henning Blohm
36 9 Henning Blohm
h2. Finally
37
38
Open a browser and navigate to http://localhost:8080/frontend to verify you get this:
39
40 7 Henning Blohm
!frontend.png!