# Overview

![](https://img.shields.io/maven-central/v/dev.krud/spring-componentmap) [![](https://img.shields.io/circleci/build/github/krud-dev/spring-componentmap/master)](https://circleci.com/gh/krud-dev/spring-componentmap/tree/master) [![](https://img.shields.io/codecov/c/gh/krud-dev/spring-componentmap?token=1EG9H9RK5Q)](https://codecov.io/gh/krud-dev/spring-componentmap) [![](https://img.shields.io/github/license/krud-dev/spring-componentmap)](https://github.com/krud-dev/spring-componentmap/blob/master/LICENSE) [![](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](https://github.com/krud-dev/spring-componentmap/issues)

The library does one simple thing. It allows better injection of maps of beans. With the library:

* The map key type could be **any type** (string, enum, integer...) and with **any value**. \
  Unlike Spring implementation which only allows to inject maps with string keys and their value is the bean name.
* The map value type can be either the **bean type** or **list of the bean type**. \
  Unlike Spring implementation which does not support lists.

Check out the quick start guide to learn how get started:

{% content-ref url="introduction/quick-start" %}
[quick-start](https://componentmap.krud.dev/introduction/quick-start)
{% endcontent-ref %}
