如何创建类似springboot的懒惰魔术豆

时间:2019-05-06 18:11:58

标签: spring spring-boot configuration

Spring Boot具有神奇的自动配置。

例如,如果我在@Configuration中定义一个DataSource @Bean,它将接受它;如果我未定义,那么它将尝试通过查看属性文件和类路径来创建一些东西

如果我在类路径中有H2,它将在连接中创建一个内存数据库 如果没有,根据配置,它可能会连接到mysql或mongo

如何在自己的bean /代码中执行此操作?

如果我定义bean /配置,则可能还需要定义组件扫描 如果我的服务依赖于其他罐子中的可重复使用豆,这将变得具有挑战性。

当组件扫描处于较高级别(即org.company)时,它将查看ALL @Component并热切尝试对其进行初始化。

尤其在切片测试中,这带来了挑战。

如何使用正确的@ComponentScan构建代码

a)定义懒豆

b)定义使用此类bean的豆

c)如果我不进行集成测试,则对它们进行模拟

d)根据默认配置文件和云配置文件对它们进行不同的初始化

看到这个-这实际上是黑魔法 https://spring.io/blog/2015/04/27/binding-to-data-services-with-spring-boot-in-cloud-foundry

0 个答案:

没有答案