传统项目架构设计问题
说明:由于单体项目将所有的模块都写到了一起,将来如果其中一个模块出了问题,将导致整个项目不能正常的运行!
分布式架构设计
分布式介绍
由于传统项目导致各个模块之间的耦合性较高,所以需要采用分布式的思想将项目进行拆分。
核心理念:化整为零 将项目按照某些特定的规则进行拆分!
按照功能模块模块拆分
说明:由于单体项目的耦合性较高,所有需要按照功能模块进行拆分【降低系统架构的耦合性】
按照层级拆分
在按照模块拆分的基础之上,将项目按照层级拆分,将粒度控制的更加的具体。分工更加的明确,有效的提高软件的开发效率!
分布式思想带来的问题
分布式思想jar包维护
分布式思想中API管理
创建父级工程
创建项目
编辑pom.xml文件<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.jt
jt
1.0-SNAPSHOT
jt-common
jt-manage
pom
org.springframework.boot
spring-boot-starter-parent
2.3.4.RELEASE
1.8
true
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.projectlombok
lombok
mysql
mysql-connector-java
runtime
org.springframework.boot
spring-boot-starter-jdbc
com.baomidou
mybatis-plus-boot-starter
3.2.0
javax.servlet
javax.servlet-api
javax.servlet
jstl
org.apache.tomcat.embed
tomcat-embed-jasper
org.springframework.boot
spring-boot-devtools
org.apache.httpcomponents
httpclient
redis.clients
jedis
org.springframework.boot
spring-boot-starter-aop
编辑工具API项目(common)
创建项目
导入已准备好的src文件
定义manage项目
创建项目
编辑pom.xml文件(注意添加继承/依赖/插件)<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
jt-manage
war
jt
com.jt
1.0-SNAPSHOT
com.jt
jt-common
1.0-SNAPSHOT
org.springframework.boot
spring-boot-maven-plugin
导入准备好的manage的src文件
修改YML配置文件
启动项配置
访问测试
项目默认页面跳转说明
步骤:
1.http://localhost:8091/
2.默认机制:http://localhost:8091/index请求...被springBoot程序优化过了。
3.利用默认工具API
WelcomePageHandlerMapping : Adding welcome page template: index动态的发起的/index请求,之后配合视图解析器形成动态的页面路径:/WEB-INF/views/index.jsp
注意事项:
当使用SpringBoot程序时,可以通过缺省值访问,但是系统的首页名称必须为index.xxxx