@Bean修饰的方法参数的注入方式:

    方法参数默认注入方式为Autowired,即先根据类型匹配,若有多个在根据名称进行匹配。

    1:复杂类型可以通过@Qualifier(value=“XXX”)限定;

    2:对于普通类型使用@Value(XXX)指定;

    1. @PropertySource("classpath:db.properties")
    2. public class SpringConfiguration {
    3. @Bean
    4. public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
    5. return new PropertySourcesPlaceholderConfigurer();
    6. }
    7. /**
    8. * 方法参数默认注入方式为Autowired: <br>
    9. * 1:复杂类型可以通过@Qualifier(value="dataSource")限定; <br>
    10. * 2:对于普通类型使用@Value指定; <br>
    11. */
    12. @Bean(name = "dataSource")
    13. public DataSource dataSource(@Value("${jdbc.driverClass}") String driverClassName,
    14. @Value("${jdbc.jdbcUrl}") String url, @Value("${jdbc.user}") String username,
    15. @Value("${jdbc.password}") String password) {
    16. DriverManagerDataSource dataSource = new DriverManagerDataSource();
    17. dataSource.setDriverClassName(driverClassName);
    18. dataSource.setUrl(url);
    19. dataSource.setUsername(username);
    20. dataSource.setPassword(password);
    21. return dataSource;
    22. }
    23. @Bean(name = "jdbcTemplate")
    24. public JdbcTemplate jdbcTemplate(@Qualifier(value = "dataSource") DataSource dataSource) {
    25. return new JdbcTemplate(dataSource);
    26. }
    27. }