传统项目架构设计问题

说明:由于单体项目将所有的模块都写到了一起,将来如果其中一个模块出了问题,将导致整个项目不能正常的运行!

分布式架构设计

分布式介绍

由于传统项目导致各个模块之间的耦合性较高,所以需要采用分布式的思想将项目进行拆分。

核心理念:化整为零 将项目按照某些特定的规则进行拆分!

按照功能模块模块拆分

说明:由于单体项目的耦合性较高,所有需要按照功能模块进行拆分【降低系统架构的耦合性】

按照层级拆分

在按照模块拆分的基础之上,将项目按照层级拆分,将粒度控制的更加的具体。分工更加的明确,有效的提高软件的开发效率!

分布式思想带来的问题

分布式思想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

项目结构设计 java_Java项目架构设计相关推荐

  1. 电商项目商品详情页架构设计

    当用户进入京东首页,点击搜索手机进入搜索页面,点击一款手机进入商品详情页面,主要展示商品的信息,主要分为三块信息: 1:基本信息:展示商品的基本信息,包括sku价格等基本信息. 2:商品描述(商品详情 ...

  2. TheBeerHouse 网站项目学习笔记(5)---架构设计

    前述讨论:    TheBeerHouse 网站项目学习笔记(1)----换肤技术                     TheBeerHouse 网站项目学习笔记(2)----个性化管理      ...

  3. 互联网公司的架构设计要怎么落地?| 技术头条

    作者 | 张辉清 责编 | 胡巍巍 你做架构设计了吗?你认为要不要做架构设计?你的公司有没有做架构设计?互联网公司的架构设计又要怎么做? 我不知道你是怎么想的,在我得到的答复中,大部分人认为要做架构设 ...

  4. delphi7 dbgrid缓存模式下怎么判断输入重复记录_互联网公司的架构设计要怎么落地?| 技术头条...

    作者 | 张辉清 责编 | 胡巍巍 你做架构设计了吗?你认为要不要做架构设计?你的公司有没有做架构设计?互联网公司的架构设计又要怎么做? 我不知道你是怎么想的,在我得到的答复中,大部分人认为要做架构设 ...

  5. 我对架构设计的5点思考:网关、业务逻辑、数据访问

    随着业务的发展,每个产品都需要对应数量的开发者作为支撑,但在长期的协作中,我们发现开发团队都会遇到一些普遍难点:构建速度慢.开发测试周期长.协作困难等. 在快速的业务迭代中,各团队的开发人员往往只会将 ...

  6. 数据治理的成功要素2:数据架构设计

    导读:不同行业.不同企业的行业特点不同.企业性质不同.信息化发展程度不同.业务和管理需求不同,其数据治理的侧重点也是不一样的.企业在设计数据治理平台框架时,应从企业的实际需求和发展需要出发,设计适合企 ...

  7. 阿里P9:做了6年架构设计,这次聊聊微服务与分布式事务细节

    微服务因其高内聚.低耦合.高扩展.敏捷开发为很多企业所用,当然,没有任何一项技术是完美的.系统微服务化后,一个看似简单的功能,内部可能需要调用多个服务并操作多个数据库实现. 毫不夸张地说,分布式事务已 ...

  8. 园区网架构设计 / 升级--1--接入层和汇聚层配置

    项目名称:园区网架构设计 / 升级 项目需求: 1.不同的PC属于不同的 VLAN ,如图所示: 2.不同的 VLAN 的IP地址为:192.168.XX.0/24 , XX 是 vlan 号: 3. ...

  9. python接口自动化(四十二)- 项目架构设计之大结局(超详解)

    简介 这一篇主要是将前边的所有知识做一个整合,把各种各样的砖块-模块(post请求,get请求,logging,参数关联,接口封装等等)垒起来,搭建一个房子.并且有很多小伙伴对于接口项目测试的框架一筹 ...

最新文章

  1. php基础:switch cass控制结构 代替if
  2. dlib android
  3. python中怎么比较两个列表-python中比较两个列表的实例方法
  4. 115 存至网盘 也有限制?
  5. 微信朋友圈:应对春节千亿访问量背后的故事
  6. 五分钟学会悲观乐观锁-java vs mysql vs redis三种实现
  7. systematic literature review how to write it?
  8. “疫”外爆发:没那么简单的视频会议
  9. [转]OpenGL库介绍
  10. php mkdir 无效,PHP mkdir()无写权限的问题解决方法
  11. 语句练习题 折纸、阶乘、阶乘求和、范围内条件查找(水仙花数)。
  12. Linux之重置密码的两种方法
  13. MySQL学习(三、分组查询和多表查询)
  14. 本地数据库数据导入linux
  15. 今天,我 22 岁了 ...
  16. LINUX IIO子系统分析之七 虚拟iio device驱动实现
  17. 用户分享率高达87% KilaKila恋爱小程序的女性营销逻辑
  18. 秋招来袭,想学习Java进大厂的小伙伴,这7点武林秘籍一定要点开看看!(附一线互联网大厂MySQL面试高频考点)
  19. Vue定时刷新页面数据
  20. 单向链表—在单向链表的尾部插入一个元素

热门文章

  1. 【笔试/面试】—— linux(rpm)
  2. Python基础——yield的使用与解释
  3. python称号_C 语言荣获 2019 年度最佳编程语言称号
  4. python代码翻译器-Python编程学习 -- 用十几行代码实现一个翻译器
  5. python能做什么-学Python能做什么?
  6. python学了真的很有用吗-会Python的人工作不会太差?编程课真的有必要学吗?
  7. 用python画图代码-Python实战小程序利用matplotlib模块画图代码分享
  8. python编程入门-python编程入门(第3版)
  9. 三星智能电视将用户语音隐私泄露给第三方?
  10. Google云端语音识别app