Spring-Boot自定义Starter实践

勿忘初心2018-10-17 13:00

此文已由作者王慎为授权网易云社区发布。

欢迎访问网易云社区,了解更多网易技术产品运营经验。

disconf-spring-boot-starter

使用方法:

  1. 引入maven依赖:

    <dependency>
       <groupId>com.netease.haitao.sc</groupId>
       <artifactId>disconf-spring-boot-starter</artifactId>
       <version>1.0.1</version></dependency>

  2. 在application.properties中按照实际配置定义如下字段

    #disconf zk地址

    disconf.zkHost=10.122.137.135:2181,10.164.166.201:2181,10.164.166.200:2181,10.164.166.199:2181

    #disconf环境

    disconf.env=online

    #disconf申请的分组

    disconf.groupName=sc_jxc_front_config

  3. 代码中可以直接使用@Resource的方式注入ConfigService Bean。

    @Resource

    private ConfigService configService;

  4. 实现代码片段

kschedule-spring-boot-starter

  1. 引入maven依赖:

     <dependency>
         <groupId>com.netease.haitao.sc</groupId>
         <artifactId>kschedule-spring-boot-starter</artifactId>
         <version>1.0.0</version>
    </dependency>

  2. 在application.properties中按照实际配置定义如下字段

    #kschedule ZK 地址

    kschedule.zkConnectUrl=10.164.166.75:2181,10.122.137.110:2181,10.122.137.109:2181

    #kschedule 分组

    kschedule.groupName=sc-jxc-front

  3. 代码中无需多额外的配置,只需在kschedule平台上定义需要执行的方法即可。

  4. 实现代码片段

nos-spring-boot-starter

  1. 引入maven依赖:

    <dependency>
       <groupId>com.netease.haitao.sc</groupId>
       <artifactId>nos-spring-boot-starter</artifactId>
       <version>1.0.0</version></dependency>

  2. 在application.properties中按照实际配置定义如下字段

    nos.accessKey=

    nos.secretKey=

  3. 代码中可以直接使用@Resource的方式注入NosClient。

    @Resource

    private NosClient nosClient;

  4. 实现代码片段

spring-boot-starter-dubbo

  1. 引入maven依赖(需要排除原生dubbo的依赖)。 原实现:https://github.com/dubbo/dubbo-spring-boot-project ,本实现在其基础上支持@Reference注解配置化

    <dependency>
       <groupId>io.dubbo.springboot</groupId>
       <artifactId>spring-boot-starter-dubbo</artifactId>
       <version>1.0.1-kaola-sc</version>
       <exclusions>
           <exclusion>
               <groupId>com.alibaba</groupId>
               <artifactId>dubbo</artifactId>
           </exclusion>
       </exclusions></dependency>

  2. 在application.properties中按照实际配置定义如下字段

    #dubbo需要扫描的包 

    spring.dubbo.scan=com.netease.haitao.jxc.front

    #应用名称

    spring.dubbo.application.name=sc-jxc-front

    #环境

    spring.dubbo.application.environment=product

    #ZK地址

    spring.dubbo.registry.address=zookeeper://kaola-zk1.dg.163.org:2181?backup=kaola-zk2.dg.163.org:2181,kaola-zk3.hz.163.org:2181,kaola-> zk4.hz.163.org:2181,kaola-zk5.yq.163.org:2181

    #默认提供dubbo服务分组

    spring.dubbo.provider.group=online

    #默认提供的dubbo服务版本

    spring.dubbo.provider.version=1.0

    #服务端口

    spring.dubbo.protocol.port=-1

    #启动时依赖服务检查

    spring.dubbo.consumer.check=false

    #默认消费服务分组 

    spring.dubbo.consumer.group=online

    #默认消费服务版本

    spring.dubbo.consumer.version=1.0

  3. 代码中可以直接使用@Reference的方式注入依赖接口(允许自定义分组和版本),缺省情况下调用默认分组默认版本的服务。


网易云免费体验馆,0成本体验20+款云产品! 

更多网易技术、产品、运营经验分享请点击


相关文章:
【推荐】 13本热门书籍免费送!(Python、SpingBoot、EntityFramework、Ionic、MySQL、深度学习、小程序开发等)
【推荐】 浅谈由管理者角色引出的B端产品设计思考点
【推荐】 有道云笔记跨平台富文本编辑器的技术演进