{"id":13485422,"url":"https://github.com/jmapper-framework/jmapper-core","last_synced_at":"2026-01-14T03:03:49.179Z","repository":{"id":30565308,"uuid":"34120208","full_name":"jmapper-framework/jmapper-core","owner":"jmapper-framework","description":"Elegance, high performance and robustness all in one java bean mapper","archived":false,"fork":false,"pushed_at":"2023-10-25T21:42:55.000Z","size":2168,"stargazers_count":241,"open_issues_count":37,"forks_count":40,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-11-21T16:02:56.693Z","etag":null,"topics":["annotations","api","bytecode","java","jmapper","mapper","mapping","xml"],"latest_commit_sha":null,"homepage":"http://jmapper-framework.github.io/jmapper-core","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/jmapper-framework.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-04-17T14:08:40.000Z","updated_at":"2025-09-29T09:40:58.000Z","dependencies_parsed_at":"2024-01-03T01:30:49.561Z","dependency_job_id":null,"html_url":"https://github.com/jmapper-framework/jmapper-core","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/jmapper-framework/jmapper-core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmapper-framework%2Fjmapper-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmapper-framework%2Fjmapper-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmapper-framework%2Fjmapper-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmapper-framework%2Fjmapper-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmapper-framework","download_url":"https://codeload.github.com/jmapper-framework/jmapper-core/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmapper-framework%2Fjmapper-core/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408800,"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":["annotations","api","bytecode","java","jmapper","mapper","mapping","xml"],"created_at":"2024-07-31T18:00:22.102Z","updated_at":"2026-01-14T03:03:49.153Z","avatar_url":"https://github.com/jmapper-framework.png","language":"Java","readme":"# JMapper Framework [![Join the chat at https://gitter.im/jmapper-framework/jmapper-core](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jmapper-framework/jmapper-core?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/avurro) \n\n_Fast as hand-written code with zero compromise._\n\n## Artifact information \n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.googlecode.jmapper-framework/jmapper-core/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.googlecode.jmapper-framework/jmapper-core) [![Javadocs](http://www.javadoc.io/badge/com.googlecode.jmapper-framework/jmapper-core.svg)](http://www.javadoc.io/doc/com.googlecode.jmapper-framework/jmapper-core) [![Dependency Status](https://www.versioneye.com/user/projects/5539172d1d2989cb78000002/badge.svg?style=flat)](https://www.versioneye.com/user/projects/5539172d1d2989cb78000002)\n\n## Status\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/ab9b20d7580c4e5d852e6cbe1de509a2)](https://www.codacy.com/app/alessandro-vurro_2/jmapper-core?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=jmapper-framework/jmapper-core\u0026amp;utm_campaign=Badge_Grade) [![Build Status](https://travis-ci.org/jmapper-framework/jmapper-core.svg?branch=master)](https://travis-ci.org/jmapper-framework/jmapper-core)\n\n##### Write the configuration using what you prefer: Annotation, XML or API.\nMost relevant features:\n\n  * [One to Many](https://github.com/jmapper-framework/jmapper-core/wiki/One-To-Many) and [Many to One](https://github.com/jmapper-framework/jmapper-core/wiki/Many-To-One) relationship\n  * [dynamic conversions](https://github.com/jmapper-framework/jmapper-core/wiki/Conversion-examples), whose body adapts to every relationship\n  * [inherited configurations](https://github.com/jmapper-framework/jmapper-core/wiki/Inheritance-examples), you can split the configuration along the hierarchy\n  * and more..\n   \n  \n**especially its use is intuitive**\n\n## Configuration\nBelow it is shown the same configuration in the three types allowed\n##### Annotation\n```java\nclass Destination{                      class Source{\n    @JMap\n    private String id;                      private String id;\n    @JMap(\"sourceField\")                    \n    private String destinationField;        private String sourceField;\n    private String other;                   private String other;\n\n    // getters and setters...               // getters and setters...\n}                                       }\n```\n##### XML\n```xml\n\u003cjmapper\u003e\n  \u003cclass name=\"it.jmapper.bean.Destination\"\u003e\n    \u003cattribute name=\"id\"\u003e\n      \u003cvalue name=\"id\"/\u003e\n    \u003c/attribute\u003e\n    \u003cattribute name=\"destinationField\"\u003e\n      \u003cvalue name=\"sourceField\"\u003e\n    \u003c/attribute\u003e\n  \u003c/class\u003e\n\u003c/jmapper\u003e\n```\n##### API\n```java\nJMapperAPI jmapperAPI = new JMapperAPI()\n    .add(mappedClass(Destination.class)\n             .add(attribute(\"id\")\n                     .value(\"id\"))\n             .add(attribute(\"destinationField\")\n                     .value(\"sourceField\")));\n```\n\n## Creation\n```java\nJMapper\u003cDestination, Source\u003e mapper;\n```\n##### Annotation\n```java\nmapper = new JMapper\u003c\u003e(Destination.class, Source.class);\n```\n##### XML\n```java\nmapper = new JMapper\u003c\u003e(Destination.class, Source.class, xml);\n```\n##### API\n```java\nmapper = new JMapper\u003c\u003e(Destination.class, Source.class, jmapperAPI);\n```\n## Usage\n```java\nSource source = new Source(\"id\", \"sourceField\", \"other\");\nDestination destination = mapper.getDestination(source);\n```\n## Result\n```java\ndestination [\"id\", \"sourceField\", null]\n```\n*With JMapper we have all the advantages of dynamic mapping with the performance of static code, with 0 memory consumption.*\u003cbr\u003e\n**Required java 8+**\u003cbr\u003e\n\n**Would you like to contribute to the development of JMapper?**\u003cbr\u003e \ncontact us (jmapper.framework@gmail.com) for more information.\u003cbr\u003e\u003cbr\u003e\n\n**Follow us on twitter**\u003cbr\u003e\n\u003ca href=\"https://twitter.com/jmapper_av\"\u003e\u003cimg src=\"http://www.teachthought.com/wp-content/uploads/2012/10/twitter-logo-break.png\" width=\"120\" height=\"120\" /\u003e\u003c/a\u003e\n\n\n","funding_links":["https://www.paypal.me/avurro"],"categories":["Projects","Bean映射\u0026复制","项目"],"sub_categories":["Bean Mapping","Bean映射"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmapper-framework%2Fjmapper-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmapper-framework%2Fjmapper-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmapper-framework%2Fjmapper-core/lists"}