ruoyi前后端分离框架是怎么做到不写实现类,bean依赖注入的?

最近在学习java,ruoyi框架模仿com.ruoyi.framework.config.MybatisConfig,我的方法会报错显示无法自动装配。找不到 'DataSource' 类型的 Bean。但他的我也没看到有写实体类这是怎么做到的?
图一是ruoyi的

图二是我的


回答:

看DruidConfig.java:

/**

* druid 配置多数据源

*

* @author ruoyi

*/

@Configuration

public class DruidConfig

{

@Bean

@ConfigurationProperties("spring.datasource.druid.master")

public DataSource masterDataSource(DruidProperties druidProperties)

{

DruidDataSource dataSource = DruidDataSourceBuilder.create().build();

return druidProperties.dataSource(dataSource);

}

@Bean

@ConfigurationProperties("spring.datasource.druid.slave")

@ConditionalOnProperty(prefix = "spring.datasource.druid.slave", name = "enabled", havingValue = "true")

public DataSource slaveDataSource(DruidProperties druidProperties)

{

DruidDataSource dataSource = DruidDataSourceBuilder.create().build();

return druidProperties.dataSource(dataSource);

}

@Bean(name = "dynamicDataSource")

@Primary

public DynamicDataSource dataSource(DataSource masterDataSource)

{

Map<Object, Object> targetDataSources = new HashMap<>();

targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);

setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource");

return new DynamicDataSource(masterDataSource, targetDataSources);

}

...

}

上面两个方法注入了两个DataSource类型的bean,下面的候选bean注明了只有在配置文件属性里spring.datasource.druid.slave设置为enabled才会注入,这样一来容器里默认的就是这个主数据源的bean了(不过这不是重点),spring容器会在@Configuration配置类的方法需要注入bean参数的时候自动在容器里找相同类型的bean注入。


回答:

Srping boot 已经封装好了 数据源的自动装配; 这个datasource的bean会由spring boot为你生成

以上是 ruoyi前后端分离框架是怎么做到不写实现类,bean依赖注入的? 的全部内容, 来源链接: utcz.com/p/945347.html

回到顶部