推送服务器集群系列(一)技术选型及项目基础框架搭建

博客涉及的相关软件仅供学习参考,不做任何商业用途以及无相关法律责任!如有不妥请联系QQ 3278688677 进行更正。

一、技术选型:本文将采用idea开发工具、SpringCloud框架模式、java语言与kotlin语言混编(根据项目实际情况采用自己喜欢的一种语言使用就好)集成socket.io推送以及rabbitmq来实现消息队列管理,前端可同时接入web网页、ios、Android等多个平台,实现前端主流的跨平台推送以及后台简易的推送服务集群。

二、spring cloud项目建立

1.打开idea新建项目

推送服务器集群系列(一)技术选型及项目基础框架搭建_第1张图片

2.弹出框后选择spring Initializr并点击下一步

推送服务器集群系列(一)技术选型及项目基础框架搭建_第2张图片

3.填写好包名 项目名选择项目编译架构体系,所用语言、打包格式、jdk版本、打包版本号格式、项目注释等点击下一步

推送服务器集群系列(一)技术选型及项目基础框架搭建_第3张图片

4.这里最外层父类就简单的集成一个web service相关的maven包

推送服务器集群系列(一)技术选型及项目基础框架搭建_第4张图片

5.填写好目录显示名和选择目录所在位置后直接点击完成

推送服务器集群系列(一)技术选型及项目基础框架搭建_第5张图片

6.一般项目会配置自己的maven地址不用idea自带的maven,相关步骤如下:

推送服务器集群系列(一)技术选型及项目基础框架搭建_第6张图片

推送服务器集群系列(一)技术选型及项目基础框架搭建_第7张图片

7.一顿ok确定之后右下角会弹出如下框,点击import Changes

推送服务器集群系列(一)技术选型及项目基础框架搭建_第8张图片

8.定义最外层项目为pom:在pom.xml文件中新增pom这句配置

推送服务器集群系列(一)技术选型及项目基础框架搭建_第9张图片

9.在properties节点下添加kotlin语言配置:

1.3.31
true

推送服务器集群系列(一)技术选型及项目基础框架搭建_第10张图片

10.在dependencies节点下新增依赖或者全部替换成以下配置



    com.fasterxml.jackson.dataformat
    jackson-dataformat-yaml



    io.springfox
    springfox-swagger2
    2.7.0


    io.springfox
    springfox-swagger-ui
    2.7.0



    cn.hutool
    hutool-all
    4.1.14



    mysql
    mysql-connector-java
    8.0.11



    org.jetbrains.kotlin
    kotlin-stdlib
    ${kotlin.version}


    org.jetbrains.kotlin
    kotlin-reflect


    org.jetbrains.kotlin
    kotlin-stdlib-jdk8



    com.google.code.gson
    gson
    2.8.5



    org.springframework.boot
    spring-boot-starter-web-services



    org.projectlombok
    lombok
    true


    org.springframework.boot
    spring-boot-starter-test
    test

11.调试优化目录结构和java与kotlin混编模式,这里不一一做解释直接覆盖

build节点就行:

    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
        
            org.jetbrains.kotlin
            kotlin-maven-plugin
            ${kotlin.version}
            
                
                    compile
                    
                        compile
                    
                    
                        
                            ${project.basedir}/src/main/kotlin
                            ${project.basedir}/src/main/java
                        
                    
                
                
                    test-compile
                    
                        test-compile
                    
                    
                        
                            ${project.basedir}/src/test/kotlin
                            ${project.basedir}/src/test/java
                        
                    
                
            
        
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.5.1
            
                
                
                    default-compile
                    none
                
                
                
                    default-testCompile
                    none
                
                
                    java-compile
                    compile
                    
                        compile
                    
                
                
                    java-test-compile
                    test-compile
                    
                        testCompile
                    
                
            
        
    
    ${project.basedir}/src/main/java
    ${project.basedir}/src/test/java

推送服务器集群系列(一)技术选型及项目基础框架搭建_第11张图片

12.粘贴完毕后重复7的步骤

13.新建项目子模块(项目右键 new  module)

推送服务器集群系列(一)技术选型及项目基础框架搭建_第12张图片

14.我们先建立一个工具类模块,工具类独立于父类的springboot项目:重复 1、2、3、4、5、的步骤,如果工具model用kotlin语言开发那就再重复9、10、11、12的步骤

15.我们再建立一个实体类模块和13、14的步骤一样,在pom模块里加入自己欢的依赖包即可

推送服务器集群系列(一)技术选型及项目基础框架搭建_第13张图片

16.新建一个公共业务模块,这次我们采用的是maven原始一点的构建方法

推送服务器集群系列(一)技术选型及项目基础框架搭建_第14张图片

推送服务器集群系列(一)技术选型及项目基础框架搭建_第15张图片

18.一顿下一步完成后在父pom文件中会看到如下自动加入的代码表示项目建立成功

推送服务器集群系列(一)技术选型及项目基础框架搭建_第16张图片

19.然后在父pom中加入utils和common依赖

推送服务器集群系列(一)技术选型及项目基础框架搭建_第17张图片

20.以general未例,springcloud的其他配置中心、注册中心、路由中心、熔断等模块都可以以同种方式法新建model,具体配置会在下一章节进行讲解,本文到此结束

 

 

 

 

 

 

你可能感兴趣的:(推送,kotlin,springcloud)