IoC container for Java
This module is a part of the Pip.Services polyglot microservices toolkit. It provides an inversion-of-control (IoC) container to facilitate the development of services and applications composed of loosely coupled components.
The module containes a basic in-memory container that can be embedded inside a service or application, or can be run by itself. The second container type can run as a system level process and can be configured via command line arguments. Also it can be used to create docker containers.
The containers can read configuration from JSON or YAML files use it as a recipe for instantiating and configuring components. Component factories are used to create components based on their locators (descriptor) defined in the container configuration. The factories shall be registered in containers or dynamically in the container configuration file.
The module contains the following packages:
- Core - Basic in-memory and process containers
- Build - Default container factory
- Config - Container configuration components
- Refer - Inter-container reference management (implementation of the Referenceable pattern inside an IoC container)
Use
Go to the pom.xml file in Maven project and add dependencies::
<dependency>
<groupId>org.pipservices3</groupId>
<artifactId>pip-services3-container</artifactId>
<version>3.0.0</version>
</dependency>
Develop
For development you shall install the following prerequisites:
- Java SE Development Kit 8+
- Eclipse Java Photon or another IDE of your choice
- Docker
- Apache Maven
Build the project:
mvn install
Run automated tests:
mvn test
Generate API documentation:
./docgen.ps1
Before committing changes run dockerized build and test as:
./build.ps1
./test.ps1
./clear.ps1
Contacts
The initial implementation is done by Sergey Seroukhov. Pip.Services team is looking for volunteers to take ownership over Java implementation in the project.