下面是我要搭建的一个简单的SOA面向服务分布式架构:
主要使用技术:SpringMVC、SpringBoot、mybatis、dubbo、zookeeper、redis、elasticsearch、nginx、Fastdfs、activeMQ、alipay
技术选型:
使用SpringMVC进行表述层开发 使用MyBatis进行持久化层开发 使用Spring进行组件整合并管理声明式事务 使用Maven作为依赖管理和构建管理工具 使用easyui前端样式框架生成页面效果 使用MD5加密算法对用户密码进行加密 使用Thymeleaf作为SpringBoot环境下的视图技术 使用SpringBoot整合第三方其他技术 使用FastDFS作为用户上传文件的远程分布式文件服务器 使用nginx负载均衡 使用activeMQ消息队列进行延迟消息 使用alipay阿里支付 使用elasticsearch全文搜索 使用redis缓存 使用zookeeper作为注册中心 使用dubbo作为服务调用 使用自定义注解 使用Cookie客户端保存键值对
初始设定:
端口号:
gmall-user-web:8080 gmall-user:8070 gmall-payment:8090 gmall-password-web:8085 gmall-order-web:8086 gmall-order-service:8076 gmall-manage-web:8081 gmall-manage-service:8071 gmall-list-web:8083 gmall-list-service:8073 gmall-item-web:8082 gmall-cart-web:8084 gmall-cart-service:8074
包名:
主启动类所在的包:com.javawxid 实体类所在的包:com.javawxid.bean service接口所在的包:com.javawxid.service service实现类所在的包:com.javawxid.service.impl mapper接口所在的包:com.javawxid.mapper controller所在的包:com.javawxid.controller config配置类所在的包:com.javawxid.config util工具类所在的包:com.javawxid.util
在github上创建一个仓库
复制https://github.com/BoomManager/gmall.git
粘贴到Git Repository URL中
剩下的都是下一步,finish就OK了。
在idea中
然后开始创建项目工程
创建maven工程:
父工程:gmall-parent,三个工具类:gmall-service-util,gmall-common-util,gmall-web-util,实体类:gmall-api
案例演示:
创建Spring Boot工程:
案例演示:
pom.xml这里就不写了,子系统太多,写了太长。
com.javawxid下放启动类,有mapper的项目需要加@MapperScan注解,没有就不要加
package com.javawxid; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import tk.mybatis.spring.annotation.MapperScan; @SpringBootApplication @MapperScan(basePackages = "com.javawxid.mapper") public class GmallManageServiceApplication { public static void main(String[] args) { SpringApplication.run(GmallManageServiceApplication.class, args); } }
static用来存放静态资源
templates用来存放模板引擎
application.properties用来配置端口号,数据库连接等。
这里我先将工具类和实体类创建好,点击gmall下载
下载后open项目开始,idea中配置maven
配置idk
添加每个项目的pom.xml
提交到本地仓库
推送github
推送之后,以后可以直接从github上clone下来
域名问题,管理员运行工具SwitchHosts,添加之后,右键切换当前hosts
基础搭建差不多就这样了,当然linux配置之类的大家可以看看我前面的博客,都有详细配置情况
最后分享一下,我已经写完的项目gmall