自定义资源文件
使用@PropertySource注解来实现
文件-myconfig.properties
#dubbo
dubbo.zookeeper.addr=127.0.0.1:2181
dubbo.provider.timeout=6000
dubbo.api.version=1.2.4
dubbo.cache.dir=D:/datacenter/dubbo
属性注入类
package com.ghgcn.hello.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@PropertySource(value = "classpath:myconfig.properties")
public class DubboConfig {
@Value("${dubbo.zookeeper.addr}")
private String zookeeperAddr;
@Value("${dubbo.provider.timeout}")
private Integer timeout;
@Value("${dubbo.api.version}")
private String apiVersion;
@Value("${dubbo.cache.dir}")
private String cacheDir;
public String getZookeeperAddr() {
return zookeeperAddr;
}
public void setZookeeperAddr(String zookeeperAddr) {
this.zookeeperAddr = zookeeperAddr;
}
public Integer getTimeout() {
return timeout;
}
public void setTimeout(Integer timeout) {
this.timeout = timeout;
}
public String getApiVersion() {
return apiVersion;
}
public void setApiVersion(String apiVersion) {
this.apiVersion = apiVersion;
}
public String getCacheDir() {
return cacheDir;
}
public void setCacheDir(String cacheDir) {
this.cacheDir = cacheDir;
}
@Override
public String toString() {
return "DubboConfig{" +
"zookeeperAddr='" + zookeeperAddr + '\'' +
", timeout=" + timeout +
", apiVersion='" + apiVersion + '\'' +
", cacheDir='" + cacheDir + '\'' +
'}';
}
}
controller
package com.ghgcn.hello.controller;
import com.ghgcn.hello.config.DubboConfig;
import com.ghgcn.hello.config.HomeProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@RestController
public class HelloController {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private DubboConfig dubboConfig;
@GetMapping("/hello/dubbo")
public DubboConfig getDubboConfig(){
logger.info(dubboConfig.toString());
return dubboConfig;
}
}
这样外部资料文件就可以注入成功