Spring-Boot自定义Starter实践
此文已由作者王慎为授权网易云社区发布。
欢迎访问网易云社区,了解更多网易技术产品运营经验。
disconf-spring-boot-starter
使用方法:
引入maven依赖:
<dependency>
<groupId>com.netease.haitao.sc</groupId>
<artifactId>disconf-spring-boot-starter</artifactId>
<version>1.0.1</version></dependency>
在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
代码中可以直接使用@Resource的方式注入ConfigService Bean。
@Resource
private ConfigService configService;
实现代码片段

引入maven依赖:
<dependency>
<groupId>com.netease.haitao.sc</groupId>
<artifactId>disconf-spring-boot-starter</artifactId>
<version>1.0.1</version></dependency>
在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
代码中可以直接使用@Resource的方式注入ConfigService Bean。
@Resource
private ConfigService configService;
实现代码片段
kschedule-spring-boot-starter
引入maven依赖:
<dependency>
<groupId>com.netease.haitao.sc</groupId>
<artifactId>kschedule-spring-boot-starter</artifactId>
<version>1.0.0</version>
</dependency>
在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
代码中无需多额外的配置,只需在kschedule平台上定义需要执行的方法即可。
实现代码片段

引入maven依赖:
<dependency>
<groupId>com.netease.haitao.sc</groupId>
<artifactId>kschedule-spring-boot-starter</artifactId>
<version>1.0.0</version>
</dependency>
在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
代码中无需多额外的配置,只需在kschedule平台上定义需要执行的方法即可。
实现代码片段
nos-spring-boot-starter
引入maven依赖:
<dependency>
<groupId>com.netease.haitao.sc</groupId>
<artifactId>nos-spring-boot-starter</artifactId>
<version>1.0.0</version></dependency>
在application.properties中按照实际配置定义如下字段
nos.accessKey=
nos.secretKey=
代码中可以直接使用@Resource的方式注入NosClient。
@Resource
private NosClient nosClient;
实现代码片段

引入maven依赖:
<dependency>
<groupId>com.netease.haitao.sc</groupId>
<artifactId>nos-spring-boot-starter</artifactId>
<version>1.0.0</version></dependency>
在application.properties中按照实际配置定义如下字段
nos.accessKey=
nos.secretKey=
代码中可以直接使用@Resource的方式注入NosClient。
@Resource
private NosClient nosClient;
实现代码片段
spring-boot-starter-dubbo
引入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>
在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
代码中可以直接使用@Reference的方式注入依赖接口(允许自定义分组和版本),缺省情况下调用默认分组默认版本的服务。

引入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>
在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
代码中可以直接使用@Reference的方式注入依赖接口(允许自定义分组和版本),缺省情况下调用默认分组默认版本的服务。
网易云免费体验馆,0成本体验20+款云产品!
更多网易技术、产品、运营经验分享请点击。
相关文章:
【推荐】 一些 ssh 小技巧
Spring-Boot自定义Starter实践的更多相关文章
- Spring Boot自定义starter必知必会条件
前言 在目前的Spring Boot框架中,不管是Spring Boot官方还是非官方,都提供了非常多的starter系列组件,助力开发者在企业应用中的开发,提升研发人员的工作效率,Spring Bo ...
- spring boot自定义starter
1.spring boot 项目中自定义jar包 2.项目目录 3.src/main/java 下面写自己的方法,重点是 resources 下面的文件,在resources下面新建文件夹名字为 ME ...
- Spring Boot 自定义 starter
一.简介 SpringBoot 最强大的功能就是把我们常用的场景抽取成了一个个starter(场景启动器),我们通过引入springboot 为我提供的这些场景启动器,我们再进行少量的配置就能使用相应 ...
- Spring boot 自定义starter
以下配置来自尚硅谷.. 常用如何配置 @Configuration //指定这个类是一个配置类 @ConditionalOnXXX //在指定条件成立的情况下自动配置类生效 @AutoConfigur ...
- Spring Boot 自定义Starter 可能引发的问题(Error)
如果你的项目出现: Consider defining a bean of type 'com.wy.helloworld_spring_boot_starter.PersonService' in ...
- 【串线篇】spring boot自定义starter
starter: 一.这个场景需要使用到的依赖是什么? 二.如何编写自动配置 启动器只用来做依赖导入:(启动器模块是一个空 JAR 文件,仅提供辅助性依赖管理,这些依赖可能用于自动装配或者其他类库) ...
- Spring Boot 自定义kafka 消费者配置 ContainerFactory最佳实践
Spring Boot 自定义kafka 消费者配置 ContainerFactory最佳实践 本篇博文主要提供一个在 SpringBoot 中自定义 kafka配置的实践,想象这样一个场景:你的系统 ...
- SpringBoot系列之自定义starter实践教程
SpringBoot系列之自定义starter实践教程 Springboot是有提供了很多starter的,starter翻译过来可以理解为场景启动器,所谓场景启动器配置了自动配置等等对应业务模块的一 ...
- spring boot自定义线程池以及异步处理
spring boot自定义线程池以及异步处理@Async:什么是线程池?线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务.线程池线程都是后台线程.每个线程都使 ...
- Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践
Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践 Spring Boot + Nginx + Mysql 是实际工作中 ...
随机推荐
- RHEL/CentOS 7.X 安装笔记
配置vim # 配置 vim 编辑器 yum install vim rm /usr/bin/vi ln -s /usr/bin/vim /usr/bin/vi vi /etc/vimrc # 开启语 ...
- mysql(数据库,sql语句,普通查询)
第1章 数据库 1.1 数据库概述 l 什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. l 什 ...
- C++拾遗(七)——关联容器
关联容器(Associative containers)支持通过键来高效地查找和读取元素.两个基本的关联容器类型是 map 和set.map 的元素以键-值(key-value)对的形式组织:键用作元 ...
- Python之邮件发送
Python的smtplib提供了一种很方便的途径用来发送电子邮件,它有SMTP协议进行简单的封装,可以使用SMTP对象的sendmail方法发送邮件,通过help()查看SMTP所提供的方法如下: ...
- Java之栈空间和堆空间
1.变量的命名 (1)由字母,数字和下划线构成,首字母以字母或下划线开头 (2)变量的命名遵循见名知义 (3)Java变量命名建议不用中文 (4)变量名首字母建议不用大写字母开头 (5)用驼峰命名法命 ...
- TortoiseGit和git bash冲突解决
软件版本 TortoiseGit版本: TortoiseGit 2.5.0.0 (C:\Program Files\TortoiseGit\bin) git version 2.8.1.windows ...
- cluvfy stage命令用法
1.获取集群验证工具cluvfy的帮助信息 grid@rac1:/home/grid>cluvfy -help USAGE: cluvfy [ -help ] cluvfy stage { -l ...
- Codeforces Round #321 (Div. 2) C Kefa and Park(深搜)
dfs一遍,维护当前连续遇到的喵的数量,然后剪枝,每个统计孩子数量判断是不是叶子结点. #include<bits/stdc++.h> using namespace std; ; int ...
- UVA 11093 Just Finish it up 环形跑道 (贪心)
有一个环形跑道,上面有n个加油站,到i号加油站可以加pi的油,跑到下一站要花费qi的油,起点任意选,问是否有一个起点可跑完整个跑道. 从i开始跑,如果遇到某个站j不能跑了,那么从i到j之间的站开始跑, ...
- 【转】iOS开发里的Bundle是个啥玩意?!
初学iOS开发的同学,不管是自己写的,还是粘贴的代码,或多或少都写过下面的代码 [[NSBundle mainBundle] pathForResource:@"someFileName&q ...