This repository is a simple spring boot application, that demonstrates a few design patterns:
- Singleton
- Controller
- Factory
- Strategy
- Proxy
- Observer
- Aspect-oriented programming
This demo application retrieves contact phone numbers from 2 different bank's websites (more banks can be added) with specific implementations per bank and offers a nice interface to hide the specifics.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See running for notes on how to run the project on a system.
-
Clone the project to your local environment:
git clone https://github.com/indrekru/design-patterns-spring-boot.git
-
You need maven installed on your environment:
brew install maven
sudo apt-get install maven
Once you have maven installed on your environment, install the project dependencies via:
mvn install
Run all tests:
mvn test
Once you have installed dependencies, this can be run from the Application.java
main method directly,
or from a command line:
mvn spring-boot:run
Open browser and go to http://localhost:8080/api/v1/banks and you should see the results
- Spring Boot - Spring Boot 2
- Spock - Spock testing framework
- Maven - Dependency Management
If you have any improvement suggestions please create a pull request and I'll review it.
- Indrek Ruubel - Initial work - Github
See also the list of contributors who participated in this project.
This project is licensed under the MIT License
- Big thanks to Pivotal for Spring Boot framework, love it!
- Also check out my Spring Boot 2 Oauth2 resource server example: https://github.com/indrekru/spring-boot-2-oauth2-resource-server