Aooms_基于SpringCloud的微服务基础开发平台实战_002_工程构建
2018-02-04 21:06
686 查看
一、关于框架更名的一点说明
最近在做年终总结、明年规划、还有几个项目需要了结、出解决方案,事情还比较多,死了不少脑细胞,距离上一篇文章发出已经过了3天,是不是有些人会认为我放弃了又不搞了,NONO,一定会坚持下去,趁周末赶紧整理第二篇并把工程骨架构建起来。
上一篇<开篇博文>将框架之前命名为JCloud,后来发现诸多重名,这种感觉很不爽,经过深思熟虑,决定将框架名更改为 Aooms,上一篇博文标题、内容就暂不修改了留个印记。
Aooms 名称来源:取自 a microservice 英文缩写,中文翻译为一个微服务框架,简写 ams 发现太短,还是比较容易重复,后来中间补上两个oo,没啥具体含义就是凑个数避免重复,加上后惊喜的发现看起来比较顺眼,也比较好记,那就是它了, 它念 ‘’奥木思‘’,哈哈是不是土的很。
二、开发环境说明
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版本修改为自己需要的即可(下面贴个官方给的模版),让工程运行起来
———————————————————————————————————————————
(4) 控制器写完后,启动后无法访问
问题描述:控制器编写完成,项目启动后无法访问
解决办法如下:
没有引入spring-webmvc的包,引入spring-webmvc包, 启动主类添加注解@EnableWebMvc,开启mvc支持,其实当引入了spring-webmvc 包时,不配置@EnableWebMvc注解也可以,程序启动时会自动进行扫描映射路径。
———————————————————————————————————————————
五、码云地址,欢迎参与、Star
https://gitee.com/cyb-javaer/Aooms
上一篇:<JCloud_基于SpringCloud的微服务基础开发平台实战_001_开篇>
最近在做年终总结、明年规划、还有几个项目需要了结、出解决方案,事情还比较多,死了不少脑细胞,距离上一篇文章发出已经过了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+ |
三、工程结构说明
工程整体分为 公共部分 、应用部分、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_开篇>
相关文章推荐
- Aooms_基于SpringCloud的微服务基础开发平台实战_003_配置文件与简单的web环境搭建
- JCloud_基于SpringCloud的微服务基础开发平台实战_001_开篇
- Spring cloud微服务实战——基于OAUTH2.0统一认证授权的微服务基础架构
- Spring cloud微服务实战——基于OAUTH2.0统一认证授权的微服务基础架构
- 在RHEL5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【九】——API变了,客户端怎么办?
- 潘国庆:基于 Spark Streaming 构建实时计算平台实战解析
- 基于分布式进程服务的企业开发平台
- 基于Web服务的应用、解决方案和开发平台
- 以太坊开发 DApp 实战教程——用区块链、星际文件系统(IPFS)、Node.js 和 MongoDB 来构建电商平台
- 基于EasyJWeb服务调度和自定义邮件引擎技术的CRM系统实战开发
- JAF微服务基础开发平台
- 基于Visual C++2010与windows SDK fo windows7开发windows7平台的新特性--HighDPI为视觉障碍的人服务
- 基于 Spring + Dubbo 开发分布式REST服务实战
- 构建基于AgileEAS.NET应用开发平台的简单应用程序
- 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【二】——使用Repository模式构建数据库访问层
- 构建基于微服务的云平台-技术架构选型
- 基于SpringCloud、SpringBoot构建的微服务框架
- 基于EasyJWeb服务调度和自定义邮件引擎技术的CRM系统实战开发