java yaml_java-将Yaml中的列表映射到Spring B中的对象列表

我已经参考了这篇文章以及其他许多文章,但没有找到清晰明确的帮助信息。 我在下面提供了我的发现,并给出了该线程的一些参考:

春季启动版本:1.3.5.RELEASE

春季核心版本:4.2.6.RELEASE

依赖管理:Brixton.SR1

以下是相关的Yaml摘录:

tools:

toolList:

-

name: jira

matchUrl: http://someJiraUrl

-

name: bamboo

matchUrl: http://someBambooUrl

我创建了一个Tools.class:

@Component

@ConfigurationProperties(prefix = "tools")

public class Tools{

private List toolList = new ArrayList<>();

public Tools(){

//empty ctor

}

public List getToolList(){

return toolList;

}

public void setToolList(List tools){

this.toolList = tools;

}

}

我创建了一个Tool.class:

@Component

public class Tool{

private String name;

private String matchUrl;

public Tool(){

//empty ctor

}

public String getName(){

return name;

}

public void setName(String name){

this.name= name;

}

public String getMatchUrl(){

return matchUrl;

}

public void setMatchUrl(String matchUrl){

this.matchUrl= matchUrl;

}

@Override

public String toString(){

StringBuffer sb = new StringBuffer();

String ls = System.lineSeparator();

sb.append(ls);

sb.append("name: " + name);

sb.append(ls);

sb.append("matchUrl: " + matchUrl);

sb.append(ls);

}

}

我通过@Autowired在另一个课程中使用了这种组合

@Component

public class SomeOtherClass{

private Logger logger = LoggerFactory.getLogger(SomeOtherClass.class);

@Autowired

private Tools tools;

/* excluded non-related code */

@PostConstruct

private void init(){

List toolList = tools.getToolList();

if(toolList.size() > 0){

for(Tool t: toolList){

logger.info(t.toString());

}

}else{

logger.info("*****----- tool size is zero -----*****");

}

}

/* excluded non-related code */

}

并且在我的日志中记录了名称和匹配的URL。 这是在另一台机器上开发的,因此我不得不重新输入所有上述内容,因此,如果我无意中输入了错误的内容,请提前原谅我。

我希望此合并评论对许多人有所帮助,并感谢以前对此主题所做的贡献!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值