美文网首页
Spring boot, Auto Configure

Spring boot, Auto Configure

作者: 韩懿留 | 来源:发表于2018-04-20 11:52 被阅读0次

    最近闲来无聊, 搞了搞RocketMQ.

    网上找了找starter包, 没找到什么合适的, 故决定自己写一个.

    接下来的工作就是翻文档.

    恩, 翻文档.

    文档里面有个用git提交日志做的sample, 可以看下.

    暂时做出来的功能很简单, 只是根据annotation扫包, 具体的配置还没有处理.

    大概需要注意的就几个地方.

    1, @Configuration类的conditional加载条件.

    2, Properties类, 属性的加载, 从spring.properties或yaml文件.

    3, META-INF下的spring.factories文件里的配置.

    4, dependency里面对于rocketmq的引用optional为true.

    5, 使用AutoConfigurationPackages.get()获取扫包的所有package列表

    6, 扫包用的ClassPathBeanDefinitionScanner, 继承该类, 使用step5中获得的package列表去扫bean. 添加创建bean的filter, 使用addIncludeFilter方法和AnnotationTypeFilter.

    7, 扫完包获取所有对应的beanDefinationHolder, 对bean进行配置和初始化操作.(写到这一步).

    8, 建个sample项目, 验证autoConfiguration是否好用.

    9, 忘了写, 自己的autoconfigure项目要依赖springboot的spring-boot-configuration-processor.

    大概要注意的点就这些.

    具体的项目结构, 依赖导入等等的细节自行去看springboot项目的源码, 写的很清晰.

    相关文章

      网友评论

          本文标题:Spring boot, Auto Configure

          本文链接:https://www.haomeiwen.com/subject/bwyakftx.html