>  기사  >  Java  >  Java 기반 기술의 모듈화 및 Jigsaw 구현 방법

Java 기반 기술의 모듈화 및 Jigsaw 구현 방법

王林
王林원래의
2023-11-08 15:15:25893검색

Java 기반 기술의 모듈화 및 Jigsaw 구현 방법

Java 개발자에게 모듈화는 매우 중요한 기술입니다. 이는 코드를 더 잘 구성하고, 결합을 줄이고, 코드 유지 관리 및 가독성을 향상시키는 데 도움이 될 수 있습니다. Java 9에는 개발자가 모듈식 코드를 더 쉽게 생성, 관리 및 사용할 수 있도록 하는 새로운 모듈식 접근 방식을 제공하는 Jigsaw 모듈 시스템이 도입되었습니다. 이 기사에서는 Java의 기본 기술인 모듈화 및 Jigsaw를 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

1. 모듈화란 무엇입니까?

모듈화란 전체 애플리케이션을 일련의 모듈(또는 구성 요소)로 나누는 것을 의미하며, 각 모듈은 고유한 기능과 책임을 가지며 서로 독립적입니다. Java에서 모듈은 클래스, 인터페이스 및 기타 리소스 파일을 포함할 수 있으며 외부에서 제공되는 API 및 기타 종속 모듈을 지정할 수도 있습니다.

2. Jigsaw 소개

Jigsaw는 Java 9에 도입된 주요 기능입니다. 개발자가 모듈식 코드를 더 쉽게 생성, 관리 및 사용할 수 있도록 하는 새로운 모듈식 접근 방식을 제공합니다. Jigsaw에는 주로 다음 기능이 포함되어 있습니다.

  1. 모듈 정의: ​​개발자는 모듈 이름, API, 종속성 및 기타 정보가 포함된 module-info.java 파일을 통해 모듈을 정의할 수 있습니다.
  2. 모듈 경로: 모듈은 클래스 경로를 통해 참조할 필요 없이 보다 직관적인 방식으로 다른 모듈을 참조할 수 있습니다.
  3. 액세스 제한: 모듈은 코드 보안을 향상시키기 위해 내보내기 및 노출을 통해 다른 모듈의 액세스 권한을 제한할 수 있습니다.
  4. jlink 도구: jlink 도구를 사용하여 애플리케이션 모듈과 해당 종속성만 포함된 런타임 이미지를 패키징할 수 있습니다.

3. 모듈화 및 Jigsaw 구현

아래에서는 Jigsaw를 사용하여 모듈식 Java 애플리케이션을 구현하는 방법을 보여주기 위해 구체적인 예를 사용합니다. Hello World를 인쇄하기 위한 Hello 모듈과 Hello World 인쇄를 위한 서비스를 제공하기 위한 Greeting 모듈이라는 두 개의 모듈을 포함하는 간단한 애플리케이션을 만들겠습니다.

  1. 모듈 만들기

먼저 Greeting 모듈에 따라 달라지는 Hello라는 모듈을 만들어야 합니다. 프로젝트의 루트 디렉터리에 다음 구조를 만듭니다.

hello-module
|--src
   |--hello
      |--module-info.java
      |--com
         |--example
            |--hello
               |--Hello.java
|--greeting-module
   |--src
      |--greeting
         |--module-info.java
         |--com
            |--example
               |--greeting
                  |--GreetingService.java
  1. 모듈 정보 정의

Hello 모듈의 module-info.java와 Greeting 모듈의 모듈 정보를 각각 정의합니다.

Hello 모듈의 module-info.java:

module-info.java of
module hello {
    requires greeting;
}

Greeting 모듈:

module greeting {
    exports com.example.greeting;
}
  1. implementation code

다음으로 Hello 모듈과 Greeting 모듈의 코드를 구현해 보겠습니다.

Hello 모듈의 Hello.java:

package com.example.hello;

import com.example.greeting.GreetingService;

public class Hello {
    public static void main(String[] args) {
        GreetingService greetingService = new GreetingService();
        System.out.println(greetingService.getGreeting());
    }
}

Greeting 모듈의 GreetingService.java:

package com.example.greeting;

public class GreetingService {
    public String getGreeting() {
        return "Hello, World!";
    }
}
  1. 컴파일 및 실행

코드 작성을 완료한 후 javac 명령을 사용하여 Hello 모듈과 인사말 모듈 각각:

javac -d out/hello --module-source-path hello-module/src hello-module/src/hello/module-info.java hello-module/src/com/example/hello/Hello.java

javac -d out/greeting --module-source-path greeting-module/src greeting-module/src/greeting/module-info.java greeting-module/src/com/example/greeting/GreetingService.java

다음으로 java 명령을 사용하여 Hello 모듈을 실행할 수 있습니다:

java --module-path out/hello --module hello/com.example.hello.Hello

Summary

위의 예를 통해 Jigsaw 모듈식 시스템이 보다 구조화되고 표준화된 방법을 제공한다는 것을 알 수 있습니다. 코드를 구성하고 관리합니다. 이는 모듈 간의 결합을 줄이고 코드의 유지 관리성과 가독성을 향상시키는 데 도움이 될 수 있습니다. Jigsaw를 주의 깊게 연구함으로써 Jigsaw를 더욱 효과적으로 활용하여 더욱 강력하고 유지 관리 및 확장 가능한 Java 애플리케이션을 구축할 수 있습니다. 이 글이 모든 사람이 Java 기반 기술의 모듈화와 Jigsaw를 이해하고 사용하는 데 도움이 되기를 바랍니다.

위 내용은 Java 기반 기술의 모듈화 및 Jigsaw 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.