我有这个正确的代码。 而且我不了解spring如何为Environment接口找到bean。 帮我。 谢谢

@Configuration @ComponentScan(value = "ru.itis") @PropertySource("application.properties") public class AppConfig {      @Autowired     private Environment environment;      @Bean     public NamedParameterJdbcTemplate template() {         return new NamedParameterJdbcTemplate(dataSource());     }      @Bean     public DataSource dataSource() {         DriverManagerDataSource dataSource = new DriverManagerDataSource();         dataSource.setDriverClassName(environment.getProperty("jdbc.driver"));         dataSource.setUrl(environment.getProperty("jdbc.url"));         dataSource.setUsername(environment.getProperty("jdbc.username"));         dataSource.setPassword(environment.getProperty("jdbc.password"));         return dataSource;     } } 

===============>>#1 票数:1 已采纳

该机制称为“ 依赖注入”Dependency Injection) ,您将在Web上找到许多文章 ,以解释概念和特定于Spring的细节。 基本上,反射是通过bean的名称或类在全局Application Context中查找现有的bean(对象的实例)。

在这种情况下,Spring默认情况下会初始化一个Environment实例。 如果使用@Autowired注释成员,并且存在匹配的bean,Spring会将其注入到AppConfig实例中。

  ask by Eldar Sakaev translate from so

本文未有回复,本站智能推荐: