{"id":37028396,"url":"https://github.com/racc/typesafeconfig-guice","last_synced_at":"2026-01-14T03:23:34.205Z","repository":{"id":32766855,"uuid":"36358319","full_name":"racc/typesafeconfig-guice","owner":"racc","description":"Allows Guice Injection of configuration values from Typesafe Config","archived":false,"fork":false,"pushed_at":"2020-08-01T20:04:07.000Z","size":67,"stargazers_count":70,"open_issues_count":5,"forks_count":16,"subscribers_count":5,"default_branch":"master","last_synced_at":"2023-07-26T22:03:17.760Z","etag":null,"topics":["dependency-injection","guice","hocon","typesafe-config"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/racc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-27T09:55:26.000Z","updated_at":"2023-04-03T03:54:18.000Z","dependencies_parsed_at":"2022-07-11T07:47:45.557Z","dependency_job_id":null,"html_url":"https://github.com/racc/typesafeconfig-guice","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"purl":"pkg:github/racc/typesafeconfig-guice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racc%2Ftypesafeconfig-guice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racc%2Ftypesafeconfig-guice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racc%2Ftypesafeconfig-guice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racc%2Ftypesafeconfig-guice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/racc","download_url":"https://codeload.github.com/racc/typesafeconfig-guice/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racc%2Ftypesafeconfig-guice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408830,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dependency-injection","guice","hocon","typesafe-config"],"created_at":"2026-01-14T03:23:33.483Z","updated_at":"2026-01-14T03:23:34.193Z","avatar_url":"https://github.com/racc.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Typesafe Config Guice\nAllows [Guice](https://github.com/google/guice) to @Inject configuration values into your application derived from [Typesafe Config](https://github.com/typesafehub/config).\n\n[![Build Status](https://travis-ci.org/racc/typesafeconfig-guice.svg?branch=master)](https://travis-ci.org/racc/typesafeconfig-guice)\n\nAvailable on [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22typesafeconfig-guice%22).\n \n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.github.racc\u003c/groupId\u003e\n    \u003cartifactId\u003etypesafeconfig-guice\u003c/artifactId\u003e\n    \u003cversion\u003e0.1.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Quickstart\n#### Step 1:\nAnnotate configuration injection points (Constructors, Providers, Provider methods, Setter methods, Fields) with ```@TypesafeConfig(\"config.path.key\")```\n\n#### Step 2:\nBootstrap your application with Guice and the TypesafeConfigModule.\nConfiguration values annotated with `@TypesafeConfig` will be scanned for on the classpath, and then bound from your supplied Typesafe Config file.\n```java\nConfig config = ConfigFactory.load(\"config.conf\");\nInjector injector = Guice.createInjector(\n\tTypesafeConfigModule.fromConfigWithPackage(config, \"com.my.package\");\n\t// ... Add your other modules here\n);\n```\n\n#### Step 3:\nProfit!\n\n### Features\n- Plain Old Java Objects which follow JavaBean conventions (zero-args constructor, getters and setters) can be injected. \n- Supports injections of `java.time.Duration` objects with config parameters defined as \"10 seconds\", \"10 minutes\" etc.\n- Supports injections of `com.typesafe.config.ConfigMemorySize` objects with config parameters defined as \"512k\" or \"2M\" etc.\n- Supports injections of `boolean`, where the matching config parameter can be \"true\", \"false\", \"yes\" or \"no\".\n- Supports injections of List types of primitives: `boolean`, `int`, `double`, `long`, `string`, `java.time.Duration`, `com.typesafe.config.ConfigMemorySize`\n- Supports injections of `java.util.Map\u003cString, Object\u003e`\n- Supports injections of POJO Lists.\n- Extensive test coverage\n\nAUTHOR\n-----------\nJason Then \n\nAny comments and feedback appreciated!\n\nLICENSE\n-----------\nCopyright 2018 Jason Then\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fracc%2Ftypesafeconfig-guice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fracc%2Ftypesafeconfig-guice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fracc%2Ftypesafeconfig-guice/lists"}