网站建设用到的工具,WordPress怎么给网页效果,网站开发 如何备案,快手流量推广网站以一个父工程带两个Module#xff08;test1、test2#xff09;为例。
一、创建父工程
由于是模块化项目#xff0c;那么父工程不需要实际的代码逻辑#xff0c;因此无需创建src#xff0c;那么可以有几种方式创建#xff0c;例如#xff1a;
使用Spring Initializr脚…以一个父工程带两个Moduletest1、test2为例。
一、创建父工程
由于是模块化项目那么父工程不需要实际的代码逻辑因此无需创建src那么可以有几种方式创建例如
使用Spring Initializr脚手架创建构建工具选择Maven POM即可创建出只带pom文件的Maven工程使用脚手架或者只用maven创建后删除src、.mvn目录
下面使用方式1来创建 这里我们先不管SpringBoot的版本号因为也没几个可选的合适的创建完之后再改到合适的版本。默认3.0.3创建出来的java版本是17。不选择依赖 可以看到创建出来的父工程只有一个pom文件没有src目录
二、创建module模块
分别创建test1和test2模块。File–new–Module 依赖就勾一个Spring Web就行剩下的慢慢补 创建之后的结构如下。展开模块 都带src文件夹和各自的pom文件
三、调整pom.xml
1、整改父pom与模块pom结构
在父pom中增加packagingpom/packaging代表父工程只作为整体项目的整合 传递依赖在打包时不会生成jar/war包。pom中没有设置packaging时默认使用jar打包 在父pom中增加modulemodule中的参数就是每个module中的artifactId 修改module pom中的parent信息删除parent中的relativePath并删除自己的groupId。修改后的parent中parent信息均为父工程的pom参数而父工程的parent为Spring原生的形成了pom的层级传递关系
2、加入Spring Cloud依赖 首先需要确定版本号Spring Cloud Alibaba、Spring Cloud、Spring Boot三者需要版本兼容 整体要以Spring Cloud Alibaba的版本为主来决定SpringBoot的版本。
Spring Cloud Alibaba、Spring Cloud、Spring Boot官方版本说明地址https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 由于目前企业中SpringBoot大部分使用Spring2.几那么我们采用最新的稳定版2.3.12.RELEASESpring Cloud Alibaba采用2.2.9.RELEASE那么Spring Cloud的版本就是Hoxton.SR12
修改父工程与子工程的java version为8因为创建的时候用的Spring Boot 3.0.x需要使用java 17而改到2.x.x就需要修改java版本。并在父pom中加入Spring Cloud AlibabaSpring Cloud依赖每个模块单独依赖也行就是要写多个 注意Spring Cloud Alibaba和Spring Cloud都是使用import pom的方式在依赖中引入进来。默认的依赖scope为compiletype默认为jar那么依赖的包就会在编译时将jar加载进来。而引入的jar过多会导致pom越来越大很难维护于是可以定义一个父pom通过import的方式继承过来而把这部分相关的所有jar引用放到父pom里。其实直接定义parent也可以实现这样的继承但是因为父工程已经继承了SpringBoot的pommaven只能单继承于是采用这样import的方式实现pom的多继承。 dependencyManagementdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversionHoxton.SR12/versiontypepom/typescopeimport/scope/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion2.2.9.RELEASE/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement直接放到dependencyManagement中dependencyManagement只声明依赖原因下面引入nacos时讲
四、调整目录结构
由于直接用默认的maven不需要使用maven wrapper删除.mvn、mvnw、mvnw.cmd文件HELP.md也删了吧留着没什么用需要可以后期补一个README.md。删完看效果右图 -------
五、将服务注册到Nacos注册中心
1、安装Nacos 官网地址https://nacos.io/zh-cn/index.html 在readme里面找到下载地址 或者直接看官网文档也可以跳转到github下载链接
根据操作系统下载包上面两个是安装包下面两个是源码windows直接下载nacos-server-2.2.0.zip即可 下载完之后再看readme里面告诉你启动方式windows用cmd脚本启动其实双击就行但是因为默认的启动方式不是单机的而是cluster集群模式。要么就是如下图一样在启动时后面跟上启动方式要么直接修改脚本将cluster修改为standalone 启动nacos如下图所示 然后在本地浏览器中输入URLhttp://localhost:8848/nacos账号密码nacos/nacos即可打开 2、项目中引入nacos 在父项目中引入nacos由于是Spring Cloud Alibaba的starter使用Spring Cloud Alibaba的版本2.2.9.RELEASE 上面提到了Spring Cloud的引入放在了dependencyManagement中dependencyManagement只声明依赖不发生实际的引入管理公共版本号。而nacos的引入在单独的dependencies中无需显示的写入版本号则直接从dependencyManagement的com.alibaba.cloud中继承也可手写覆盖默认版本号。
dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId
/dependency配置 nacos 在test1模块的properties中配置nacos地址与服务名称
spring.application.nametest1
spring.cloud.nacos.discovery.server-addrlocalhost:8848启动test1服务刷新nacos即可看到服务 未完待续…