背景:插件功能写好了,我们肯定回想把url name password之类的东西,独立于代码之外,可配置。就像Spring的application.yml一样,这么做:
1. 扩展点类
写一个类继承GlobalConfiguration
,使用扩展点注解@Extension
@Extension
public class HelloConfig extends GlobalConfiguration {
public static HelloConfig get() {
return ExtensionList.lookupSingleton(HelloConfig .class);
}
public HelloConfig () {
load();
}
private String hubUrl;
public String getHubUrl() {
return hubUrl;
}
@DataBoundSetter
public void setHubUrl(String hubUrl) {
this.hubUrl = hubUrl;
save();
}
}
注意以下几个点:
@Extension
@DataBoundSetter
save();
2. 前端页面
在src/main/resources下创建同目录同名的config.jelly文件。这个很简单跟默认生成的页面写法一样。
config.jelly文件内容如下
<?xml version="1.0" encoding="UTF-8"?>
<?jelly escape-by-default='true'?>
<j:jelly xmlns:j="jelly:core" xmlns:f="/lib/form">
<f:section title="Hello的全局配置">
<f:entry title="hub url" field="hubUrl">
<f:textbox/>
</f:entry>
</f:section>
</j:jelly>
3. 配置入口
4. 配置页的部分
5. 使用方法
可以在任意位置使用静态方法HelloConfig.get()
获取参数。