Inject other configuration file variables into the xml configuration file of spring, such
<Bean id = "propertyConfigurer" class = "org. springframework. beans. factory. config. propertyplaceholderpolicer "> <br/> <property name =" location "> <br/> <value> classpath: project. properties </value> <br/> </property> <br/> </bean> </p> <bean id = "dataSource" class = "org. springframework. jdbc. datasource. driverManagerDataSource "> <br/> <property name =" driverClassName "> <value >$ {jdbc. driver} </value> </property> <br/> <property name = "url"> <value >$ {jdbc. url} </value> </property> <br/> <property name = "username"> <value >$ {jdbc. user} </value> </property> <br/> <property name = "password"> <value >$ {jdbc. password }</value> </property> <br/> </bean> <br/>
The jdbc configuration information comes from another configuration file project. properties.
# DB Information
Jdbc. driver = org. hsqldb. jdbcDriver
Jdbc. url = jdbc: hsqldb: db/myDB
Jdbc. user = admin
Jdbc. password = asdf
In spring configuration, we find that there is an additional bean, PropertyPlaceholderConfigurer. This class is used to scan the configuration files under the specified location.
However, in this case, BeanFactory cannot be used for bean instantiation of spring, but ApplicationContext is used. Otherwise, PropertyPlaceholderConfigurer does not work..