This is the first post of a series of posts demonstrating how we to use Spring in an application.
In the series I will show some howtos of technical aspects (context file, properties, etc.).
And I will also show some design aspects and test approach.
In this post I will simply show how to integrate Spring using Maven.
The basic dependency would be the context. Using Maven dependencies, spring-core will be in the project as well.
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency>
If we want to use annotation such as @Inject
which comes from Java JSR, we’ll add the following dependency:
<dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version> </dependency>
And in order to be able to test using Spring, here’s what we’ll need (in here, the scope is test):
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency>
You can see that I didn’t add spring-core as it comes with the context / test dependencies.
You can find the code at: https://github.com/eyalgo/request-validation
Some notes about the code.
I added the Spring code, context and the Spring’s Maven dependencies to the test environment.
This is on purpose.
I want to emphasize the separation of the validation-filter framework to the usage and wiring of an application.
In real life, you might have an external library that you’ll want to use it in a Spring injected application.
So the test environment in the code simulates the application and the src is the “external library”.