https://github.com/alansastre/java-jigsaw
Modularización en Java. Módulos con Java Jigsaw a partir de Java 9.
https://github.com/alansastre/java-jigsaw
java java11 java17 java9 java9-jigsaw java9-modules modular-design modularity modularization modules
Last synced: 6 months ago
JSON representation
Modularización en Java. Módulos con Java Jigsaw a partir de Java 9.
- Host: GitHub
- URL: https://github.com/alansastre/java-jigsaw
- Owner: alansastre
- Created: 2022-12-27T10:26:55.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-27T10:27:00.000Z (almost 3 years ago)
- Last Synced: 2025-03-02T16:18:13.785Z (10 months ago)
- Topics: java, java11, java17, java9, java9-jigsaw, java9-modules, modular-design, modularity, modularization, modules
- Language: Java
- Homepage:
- Size: 6.84 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Módulos con Java jigsaw
https://openjdk.org/projects/jigsaw/
Ejemplo 1:
* module one
* module two
Ejemplo 2:
* domain: clases de datos
* repository: interfaces
* repository.jdbc: implementación de repository
* repository.jpa: implementación de repository
Qué es un módulo:
- name
- dependencies
- exported packages
- provided packages
- used services
Para crear un módulo se define un archivo module-info.java
Nombre de un módulo:
```java
module com.example {
}
```
Dependencias de un módulo:
```java
module com.example.service {
requires com.example.repository;
}
```
Exportar paquetes:
```java
module com.example.service {
exports com.example.service;
}
```
Implementar interfaces de otro módulo:
```java
module com.example.impl{
requires com.example.service;
provides com.example.service.CustomerDAO
with com.example.service.CustomerDAOImpl;
}
```
Usar servicios:
```java
module com.example.client{
requires com.example.service;
uses com.example.service.CustomerDAO;
}
```