方法参数中注入spring管理的bean

在日常开发中使用最多的是通过@Autowired的方式注入属性,如下:

@RestController
@RequestMapping("/system/config")
public class SysConfigController extends BaseController
{
    @Autowired
    private ISysConfigService configService;

下面介绍一种不太常用的,在方法参数中注入spring管理的bean方式,如下:

@Configuration
public class DruidConfig
{
    @Bean
    @ConfigurationProperties("spring.datasource.druid.master")
    public DataSource masterDataSource(DruidProperties druidProperties)
    {
        DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
        return druidProperties.dataSource(dataSource);
    }
}

需要注意三点;

1、方法需要使用@Bean或者@Autowired注解。

2、方法中参数需要是spring管理的bean,比如上例中的druidProperties。

3、构造函数中也可以使用这样的方式注入bean。

posted @ 2022-01-26 23:31  一首简单的歌  阅读(718)  评论(0)    收藏  举报