创建一个maven项目,在pom.xml文件下有自己的坐标地址
直接把这个坐标引入其他模块,就相当于引入了这个模块的所有依赖,还有这个模块的类
如果是父子模块,那么子组件是这样的
如果要引入到其他模块里面,groupId和version都是一样的,artfaceId为下面的(cs)也就是这个模块的名字。
引入了这个模块,就相当于引入了这个模块的依赖和类
例如,我在cs模块创建了一个方法,然后我在springbootdeom模块引入cs模块,然后调用cs的方法
可以调用
然后就是一些接口问题,springboot项目引入其他模块的依赖,然后在其他模块写controller接口层
例如,我在cs的 src/main/java/com/example/springboot_demo路径下写了一个接口,这个路径和spring boot的路径一样的
启动项目测试一下
发现测试成功
但如果我把cs的controller放在上一个目录的位置就不行了
起初我想的是cs模块和springbootdemo模块本来就不在一个目录下,为什么bean类还是要遵守在springboot启动类下面,
后面我猜想的是,引入依赖的时候就相当于把两个模块的目录进行了合并,所有虽然是两个模块,但目录结构都要一样的
9.23
父级dependencies和dependencyManagement的区别
最大的区别就是父级dependencies所导入的依赖可以被子模块继承,但是如果是加了dependencyManagement那么子模块就不会继承了,dependencyManagement就相当于声明了这个模块,没有导入,这样子模块在导入模块的时候就不需要导入版本了,如果是只dependencies,那么父级模块子集就被全部继承,这样子集就会导入许多没有必要的依赖,导致依赖管理混乱
大概是看这里的
maven 中 dependencies 与 dependencyManagement 的区别_maven <dependencies>和<dependencymanagement>-优快云博客