分模块开发与设计
分模块开发设计就可以让一个后端团队分工合作,共同来完成一个项目了,哈哈。
步骤:
先前的版本可以不选择archetype直接创建模块,但高一点的idea(我的是2022.2)一定要选择,就直接选择quickstart。
注意,模块的groupId应与父工程一致。
将模块安装到本地仓库后,导入相应的坐标,模块间就可以相互引用了。
演示:
此项目与先前的ssm整合项目代码一致。这是先前的图,已将所有的user项目改成了book项目。
若想将domain模块与从当前工程分离开来,则先新建一个module:maven_ssm_pojo,选择quickstart(切记组名一致 "com.example")。
在新模块内新建包domain。
再将原工程下domain下的book类直接拖进新模块的domain包下。
选择将pojo项目install,下载到本地仓库。
再将pojo的坐标导入到原工程:
刷新maven后即可对maven_ssm进行编译:
打开浏览器查看,与原功能无异:
将dao分离开也是同样的操作。
依赖管理
依赖传递冲突问题:
在IDEA的maven那里,点击下面这个图标,可以查看各个依赖间的关系:
在实际写项目中,也只需要将maven中Dependencies的依赖调成自己想要的即可
可选依赖与排除依赖
当optional选项为false时(默认),父模块可以看到子模块使用的依赖。
若optional选项为true,子模块可隐藏使用的依赖,隐藏后对应资源不具有依赖传递性。
排除依赖是隐藏当前资源对应的依赖关系 。
可选依赖是控制自己的依赖是否对外展示,排除依赖是选择是否排除外来的依赖。
聚合
继承
聚合与继承的区别:
属性
使用属性,可以一键修改同一属性,无需逐个修改。
属性的配置与使用:
配置文件加载属性
使得在pom.xml文件中能够配置jdbc.properties(resources)属性。
directory属性只能存在一个。
第三步的filtering为了能解析properties文件中的${}符号。
④适用于webapp文件夹内没有webxml文件时,用以正常运行。
其他属性:
通过命令行指令能查看对应属性,不常用。
版本管理
以上内容均学自b站黑马教程视频