为了提高可靠的配置性和强大的封装性,我们将模块化看作是java程序组件的一个基本的新特性,这样它对开发者和可支持的工具更加友好。一个模块是一个被命名的,代码和数据的自描述的集合。它的代码有一系列包含类型的包组成,例如:java的类和接口。它的数据包括资源文件(resources)和一些其他的静态信息。
在idea新建一个java项目,再在这个java项目下创建两个module,如下图所示
然后在java9demo中创建两个类
在java9index中创建一个测试类Demo
此时在当前测试类中创建java9demo模块中的Dto类实例是行不通的,这时需要在java9demo的src目录下创建一个module-info.java类文件,写明需要暴露出去的包
然后在下面测试类所在的模块src下同样创建一个module-info类文件
这里面需要requires一个模块名
这个时候就可以在下面的测试类中import用到的Dto类了。
再比如我们要使用Junit中的@Test注解进行单元测试,就需要再当前模块的module-info中requires一个Junit
如此可以让我们的程序在运行的时候加快jvm的加载速度