java–基础–26–模块化
代码
https://gitee.com/DanShenGuiZu/learnDemo/tree/mysql_mybaties_DB/java-model-learn
1、模块化概述
- 无论是运行一个大型的软件系统,还是运行一个小的程序,即使程序只需要使用Java的部分核心功能, JVM也要加载整个JRE环境。
- 为了解决这个问题,让Java实现轻量化,Java 9正式的推出了模块化系统。Java被拆分为N多个模块,并允许Java程序可以选择的加载模块,这样就可以让Java以轻量化的方式来运行
2、描述性文件(module-info.java)
2.1 、module-info.java
-
定义模块名,访问权限,模块依赖等信息
-
模块导出格式:
- exports 包名;
-
模块依赖格式:
- requires 模块名;
-
使用服务接口
- uses 接口名称
-
对外提供服务
- provides 接口名称 with 接口实现名称
3、模块的基本使用步骤
3.1、我们创建2个模块,mode1,mode2
3.2、设置mode1,mode2 jdk为11
- 必须声明为jdk9及其以后的版本,不然new中是没有module-info.java这个选项
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
</plugins>
</build>
3.3、在模块的src目录下新建一个名为module-info.java的描述性文件
- 新建 module-info.java 文件必须选择 java这个文件夹,也就是存放java代码的源文件夹,选择其他文件夹右键是没有的
- 自己不能手动通过new JavaClass 创建 module-info.java 文件。