@Bean修饰的方法参数的注入方式:
方法参数默认注入方式为Autowired,即先根据类型匹配,若有多个在根据名称进行匹配。
1:复杂类型可以通过@Qualifier(value=“XXX”)限定;
2:对于普通类型使用@Value(XXX)指定;
@PropertySource("classpath:db.properties")
public class SpringConfiguration {
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
/**
- 方法参数默认注入方式为Autowired:
- 1:复杂类型可以通过@Qualifier(value="dataSource")限定;
- 2:对于普通类型使用@Value指定;
*/
@Bean(name = "dataSource")
public DataSource dataSource(@Value("{jdbc.jdbcUrl}") String url, @Value("
{jdbc.password}") String password) {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
@Bean(name = "jdbcTemplate")
public JdbcTemplate jdbcTemplate(@Qualifier(value = "dataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
}
网友评论