Spring boot中yml属性注入

一时兴起,不想通过yml的方式将neo4j的uri,username之类的放入yml中,想通过apollo注入,但是yml中的属性是怎么注入bean的呢?idea中点击了yml中配置的spring.data.neo4j.username直接跳到了一个类 Neo4jProperties,观察一下包名:

org.springframework.boot.autoconfigure

再点开下面的子包,发现spring boot中yml中定义的属性都是通过这个包里面来导入的,常用的有redis,kafka,solr等,都有自己的xxxProperties,并且,这些类上面都打了

@ConfigurationProperties(prefix = "spring.data.")

原来是利用了spring boot提供给用户的ConfigurationProperties注解来实现的,进一步观察,发现有

Neo4jDataAutoConfiguration

这个类,xxxAutoConfiguration,用以创建配置,如果你在你的resource中没有指定,会赋予默认值。

在这些xxxAutoConfiguration类上面还注解了

@ConditionalOnMissingBean(SessionFactory.class)

这个类的意思是, 在SessionFactory不存在的时候,会创建其下的bean。

spring设计的真是巧妙,一些我们不知道的功能就是提供给用户的注解组合起来使用,不写了,继续看源码了

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值