{"id":20094604,"url":"https://github.com/alansastre/java-jigsaw","last_synced_at":"2025-06-26T11:33:10.918Z","repository":{"id":152300374,"uuid":"582600462","full_name":"alansastre/java-jigsaw","owner":"alansastre","description":"Modularización en Java. Módulos con Java Jigsaw a partir de Java 9.","archived":false,"fork":false,"pushed_at":"2022-12-27T10:27:00.000Z","size":7,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-02T16:18:13.785Z","etag":null,"topics":["java","java11","java17","java9","java9-jigsaw","java9-modules","modular-design","modularity","modularization","modules"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alansastre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-27T10:26:55.000Z","updated_at":"2024-09-26T08:57:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"6d0fb549-970e-44ce-9878-8646916b3595","html_url":"https://github.com/alansastre/java-jigsaw","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alansastre/java-jigsaw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alansastre%2Fjava-jigsaw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alansastre%2Fjava-jigsaw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alansastre%2Fjava-jigsaw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alansastre%2Fjava-jigsaw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alansastre","download_url":"https://codeload.github.com/alansastre/java-jigsaw/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alansastre%2Fjava-jigsaw/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262056369,"owners_count":23251668,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["java","java11","java17","java9","java9-jigsaw","java9-modules","modular-design","modularity","modularization","modules"],"created_at":"2024-11-13T16:51:24.529Z","updated_at":"2025-06-26T11:33:10.896Z","avatar_url":"https://github.com/alansastre.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Módulos con Java jigsaw\n\nhttps://openjdk.org/projects/jigsaw/\n\nEjemplo 1: \n* module one\n* module two\n\nEjemplo 2: \n* domain: clases de datos\n* repository: interfaces\n* repository.jdbc: implementación de repository\n* repository.jpa: implementación de repository\n\n\nQué es un módulo:\n- name\n- dependencies\n- exported packages\n- provided packages\n- used services\n\nPara crear un módulo se define un archivo module-info.java\n\nNombre de un módulo:\n\n```java\nmodule com.example {\n\n}\n```\n\nDependencias de un módulo:\n\n```java\nmodule com.example.service {\n\trequires com.example.repository;\n}\n```\n\nExportar paquetes:\n\n```java\nmodule com.example.service {\n\texports com.example.service;\n}\n```\n\nImplementar interfaces de otro módulo:\n\n```java\nmodule com.example.impl{\n\trequires com.example.service;\n\n\tprovides com.example.service.CustomerDAO\n\twith com.example.service.CustomerDAOImpl;\n}\n```\n\nUsar servicios:\n\n```java\n\nmodule com.example.client{\n\trequires com.example.service;\n\n\tuses com.example.service.CustomerDAO;\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falansastre%2Fjava-jigsaw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falansastre%2Fjava-jigsaw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falansastre%2Fjava-jigsaw/lists"}