模块的产生原因:
给java瘦身,实现Java轻量化,java9正式推出模块化系统,java被拆分拆分成多个模块,允许Java程序可以根据需要选择加 载程序必须的Java模块
模块与模块服务的使用
创建两模块Module_1和Module_2;让Module_2使用module_1的实现类;
两模块中都需要创建module-info.java;该文件专门定义模块名,访问权限,模块依赖等信息;文件中使用模块导出和模块依赖来进行配置和使用。
//module_1的描述文件
//import 语句为idea工具自动导入
import com.itheima.MyService;
import com.itheima.imopl.Itheima;
module module_1{
exports com.itheima;//模块导出语句,只有被导出的包才能被其他模块调用;
provides MyService with Itheima;//指定MyService的服务实现类是Itheima,
}
MyService为module_1向外提供的接口,而itheima则是MyService的具体实现,该实现类可被是他实现类所替换,模块服务是解耦的一种形式。
//module_2的描述文件
import com.itheima.MyService;
module module_2{
requires Module_1;//模块依赖语句,
uses MyService;//声明服务接口
}