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 是实际工作中 ...
随机推荐
- https的网站使用百度地图的问题
https的网站使用百度地图,如果你引用的地址没写对的话,加载不出来百度地图,被认为是不安全的JS内容. 引用的地址:http://api.map.baidu.com/api?v=2.0&ak ...
- html5 03
HTML03 一. 表单标签 <form></form> 常用属性 Action 跳转到什么页面 Method 以什么模式提交 Get Url有长度限制 IE6.0 url ...
- C++string类型转换为C数组
#include <string> #include <iostream> using namespace std; int main(){ string str; str.a ...
- MyEclipse Update Progress Error解决方法
MyEclipse Update Progress Error现象:频繁弹出Update Progress(Time of error:……)窗口..log文件里 org.eclipse.swt.SW ...
- AJAX不能访问MVC后台程序的问题
AJAX不能访问后台的MVC有可能是MVC的后台程序加入了身份验证[Authorize]标记,这样前台的AJAX虽然结果显示的是4和200但是responsetext的值可以看到是返回了一个配置文件中 ...
- modelformset
class StudyRecordDeialView(View): def get(self, request, class_record_id): class_record_obj = models ...
- beta版和alpha版
外部测试版的意思. 软件会出现三种版本 1.alpha内部测试版本,极不稳定,一般也不会出现的公众视线,仅供内部测试人员测试用. 2.beta公共测试版,就是对外发布软件的测试版,收集公众的意见和建议 ...
- java基础—泛型
一.体验泛型 JDK1.5之前的集合类中存在的问题——可以往集合中加入任意类型的对象,例如下面代码: 1 package cn.gacl.generic.summary; 2 3 import jav ...
- java基础—static关键字
一.static关键字
- 文件下载(NSURLConnection/NSURLSession)
最基本的网络文件下载(使用原生的网络请求) #pragma mark - 小文件下载 // 方法一: NSData dataWithContentsOfURL - (void)downloadFile ...