方法参数中注入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。