为什么80%的码农都做不了架构师?>>>   

一、关于框架更名的一点说明

最近在做年终总结、明年规划、还有几个项目需要了结、出解决方案,事情还比较多,死了不少脑细胞,距离上一篇文章发出已经过了3天,是不是有些人会认为我放弃了又不搞了,NONO,一定会坚持下去,趁周末赶紧整理第二篇并把工程骨架构建起来。

上一篇<开篇博文>将框架之前命名为JCloud,后来发现诸多重名,这种感觉很不爽,经过深思熟虑,决定将框架名更改为 Aooms,上一篇博文标题、内容就暂不修改了留个印记。

      Aooms 名称来源:取自 a microservice 英文缩写,中文翻译为一个微服务框架,简写 ams 发现太短,还是比较容易重复,后来中间补上两个oo,没啥具体含义就是凑个数避免重复,加上后惊喜的发现看起来比较顺眼,也比较好记,那就是它了, 它念 ‘’奥木思‘’,哈哈是不是土的很。

二、开发环境说明

环境名称 名称及版本
开发IDE IDEA_2017.3.3
JDK 1.8+
Servlet 3.0+
Web服务器 Tomcat8.5+
数据库 Mysql5.5+
Spring 5.0.2
SpringBoot 2.0.0+

idea初次使用,都说好用尝试一下。

三、工程结构说明

工程整体分为 公共部分应用部分、Demo部分

(1)公共部分

业务无关的公共封装类库与前端资源库,为应用部分服务。

  • aooms-core

    • 提供技术框架层面的支撑能力,包含公共的工具类、缓存、消息队列、服务注册、发现、调用、分库分表等,为整个框架的核心
  • aooms-static-web
    • 前端所需的公共资源库,包含css、js、images及各种前端所需插件
  • aooms-static-webmgr
    • 管理后台所需的公共资源库,包含css、css、js、images及各种管理后台所需插件

(2)应用部分

业务无关的基础应用,具体项目中拿来即用,无需重复开发,下面以rbac为例说明应用部分的工程结构。

        rbac:用户权限系统,包含角色、用户、机构、菜单、功能等的配置维护。

  • aooms-rbac

    • 权限系统的基础服务
  • aooms-rbac-web
    • 权限系统的前端界面(对于权限系统此处可能不需要前端,仅仅为了说明完整工程结构)
  • aooms-rbac-webmgr
    • 权限系统的后台界面
  • aooms-rbac-gateway
    • 权限系统的网关,提供给三方调用或其他服务调用的入口,加此网关层,一是为了避免服务间存在细节性的耦合,二是统一服务调用入口,便于做监控、集中式的管理。(同样对于权限系统此处可能不需要,仅仅为了说明完整工程结构)

(3) Demo部分

为框架的基本使用说明、演示工程

后续其他的基础应用工程结构rbac公共结构一致,具体业务系统也可按此方式构建,需要强调一点,上面说的前端界面、后台界面实则都属于前端,但是具体到用户群体、使用场景不一样,使用到的前端技术可能会存在一些差异,因此构建公共资源部分时分了前端与后台进行了区分,后面在说到前端界面实则指的是面向用户大众的功能界面,后台界面说的是管理员或运维人员使用系统的界面或者偏管理型系统的界面

四、构建过程遇到的一点问题

下面是初次使用SpringCloud构建工程时可能会遇到的问题,老司机此处可以飞过了。

(1) pom配置完成后,maven显示红线

问题描述:配置完pom.xml文件,发现idea右侧的Maven Projects 视图中,部分包下带红波浪线。

截图当时没保存,贴到图时调整正常的

解决办法如下:

1、从pom文件先去掉对应到依赖,然后在引入,一般都能正常

2、如果1步骤无法解决,需要检查仓库地址、groupId、artifactId、或version 信息是否正确

———————————————————————————————————————————

(2) has broken path

问题描述:maven依赖正常,类中却无法引入,查看Project Setting, 发现如下错误

关键错误信息:has broken path.

解决办法如下:

1、双击错误的jar,进入编辑界面,点击左上角加号,从本地目录中选择jar包文件所在目录,确定即可

2、在jar列表查看错误到信息已经消失,问题解决

———————————————————————————————————————————

(3) 启动报错

问题描述:工程构建完毕,右键Run启动之后出现如下异常信息

解决办法如下:

启动主类添加注解@EnableDiscoveryClient(autoRegister=false)默认autoRegister属性为true

默认情况下我们并没有启动Eureka服务端,也没有配置发现注册中心的相关IP、端口信息,需要先禁用客户端的自动注册功能,另外如果需要运行一个最简单的应用,最好将pom.xml中多余的依赖暂时去掉,具体可参考spring官方给的pom文件模版,对应的项目信息、springboot版本修改为自己需要的即可(下面贴个官方给的模版),让工程运行起来

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 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"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>myproject</artifactId><version>0.0.1-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.BUILD-SNAPSHOT</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><!-- Additional lines to be added here... --><!-- (you don't need this if you are using a .RELEASE version) --><repositories><repository><id>spring-snapshots</id><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></repository><repository><id>spring-milestones</id><url>https://repo.spring.io/milestone</url></repository></repositories><pluginRepositories><pluginRepository><id>spring-snapshots</id><url>https://repo.spring.io/snapshot</url></pluginRepository><pluginRepository><id>spring-milestones</id><url>https://repo.spring.io/milestone</url></pluginRepository></pluginRepositories>
</project>

———————————————————————————————————————————

(4) 控制器写完后,启动后无法访问

问题描述:控制器编写完成,项目启动后无法访问

解决办法如下:

没有引入spring-webmvc的包,引入spring-webmvc包, 启动主类添加注解@EnableWebMvc,开启mvc支持,其实当引入了spring-webmvc 包时,不配置@EnableWebMvc注解也可以,程序启动时会自动进行扫描映射路径。


———————————————————————————————————————————

五、码云地址,欢迎参与、Star

https://gitee.com/cyb-javaer/Aooms

上一篇:<JCloud_基于SpringCloud的微服务基础开发平台实战_001_开篇>

转载于:https://my.oschina.net/cccyb/blog/1618109

Aooms_基于SpringCloud的微服务基础开发平台实战_002_工程构建相关推荐

  1. JAF微服务基础开发平台

    2019独角兽企业重金招聘Python工程师标准>>> 利用几天闲暇时间,将以前做的微服务项目框架重新封装了一次.封装思想参照spring目前的模块化架构.该架构中基于模块化思想,将 ...

  2. 基于SpringCloud的微服务架构演变史?

    系统架构演变概述 在公司业务初创时期,面对的主要问题是如何将一个想法变成实际的软件实现,在这个时候整个软件系统的架构并没有搞得那么复杂,为了快速迭代,整个软件系统就是由"App+后台服务&q ...

  3. 爱油科技基于SpringCloud的微服务实践

    个人简介 刘思贤(微博@starlight36),爱油科技架构师.PMP.主要负责业务平台架构设计,DevOps实施和研发过程持续改进等,关注领域驱动设计与微服务.建设高效团队和工程师文化培养. 摘要 ...

  4. 【源码分享】微服务快速开发平台:基于 SpringCloud + SpringBoot 开发,具备SaaS模式切换

    源码免费分享,需要学习可私信我. 系统概述: 基于jdk11/jdk8 + SpringCloud + SpringBoot 开发,是一个微服务中后台快速开发平台,可以通过插件无缝切换是否启用SaaS ...

  5. 基于SpringCloud的微服务架构分析,神仙框架!

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...

  6. 基于springCloud的微服务架构设计

    Spring Cloud作为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,之前也写过一些关于Spring Cloud文章,主要偏重各组件的使用,本次分享主要解答这两个问题:Spring Cl ...

  7. 基于Sanic的微服务基础架构

    2019独角兽企业重金招聘Python工程师标准>>> 介绍 使用python做web开发面临的一个最大的问题就是性能,在解决C10K问题上显的有点吃力.有些异步框架Tornado. ...

  8. 基于Vue+SpringCloudAlibaba微服务电商项目实战-技术选型-004:快速整合微信公众号开发

    004:快速整合微信公众号开发 1 微信公众号开发项目演示 2 微信公众号开发设计原理 3 基于natapp将本地项目发布到外网 4 对接微信公众号测试平台 5 第三方微信框架快速实现微信开发 6 微 ...

  9. vo生成MySQL表_跟我学微服务统一开发平台-代码生成器

    前面章节讲了技术选型,其实其技术选型这东西万变不离其宗,用的多越多,踩坑的机会越小,而且即使掉坑里了,前面很多人估计也遇到这个坑,其实就很容易爬出来.经过这几年微服务的全面普及,这一套技术栈已经火遍整 ...

最新文章

  1. Codeforces Round #276 (Div. 2)
  2. [projectEuler.net]12
  3. 【安全漏洞】Struts2漏洞集合总结
  4. PHP artisan auth,Php artisan make:auth命令未定义
  5. java insert_java获取新insert数据自增id的实现方法
  6. 中秋快乐:数据库的全家福指尖细数识几何?
  7. Android 驱动(2)---MTKAndroid添加驱动模块
  8. python执行原理是什么意思_简述Python程序的执行原理。
  9. 网页版扫雷 -- React练习
  10. 微信小程序没登录跳到登录页怎么做_微信小程序退出按钮回退到登录页面
  11. 48 款数据可视化分析工具大集合
  12. 回收宝只要6499买华为Mate40 Pro还送iPhone 12手机:结果被秒杀!
  13. 数据索引是什么?索引作用是什么?什么样的字段适合建索引?索引的优缺点是什么?
  14. 5g理论速度_5G的速度到底能有多快?
  15. java写一个文件浏览器_【Java】 实现一个简单文件浏览器(2)
  16. 云计算应该怎么学,学习路线是什么?
  17. go build解决missing go.sum.entry
  18. 英语对我们意味着什么?
  19. GPU虚拟化技术 GVT-g GVT-s GVT-d AMD NVIDIA
  20. Python之Excel编辑-[小试牛刀]批量替换excel中字符串

热门文章

  1. vSphere vCenter 4.0 安装图解
  2. 500强公司面试的经典正确与错误回答对比!
  3. python能和c语音交互吗_Python与C交互概述
  4. Openldap配置TLS加密传输(完整版——shell脚本实现[分别在客户端与服务器端执行脚本,实现TLS加密])
  5. 面试中经常出现的算法1(整理)
  6. 语音合成(文字转语音)工具大全
  7. 软工实践第三次作业(结对第一次作业)
  8. Oracle DBlink相关
  9. SSH框架的简单搭建步骤
  10. 正则表达式的顺序优先级