怎样使Spring的applicationContext.xml文件不放入数据库用户名和密码
为了提高安全性,不想把数据库用户名、密码放进applicationContext.xml中,如何将这些信息编译在CLASS文件中?
有以下两种方法:
第一种:
创建ApplictionDataSourceFactory类
- public class ApplictionDataSourceFactory {
- public DataSource buildLocalDataSource() {
- DriverManagerDataSource dmds = new DriverManagerDataSource();
- dmds.setDriverClassName("com.mysql.jdbc.Driver");
- dmds.setUrl("jdbc:mysql://localhost:3306/test");
- dmds.setUsername("root");
- dmds.setPassword("wz123");
- return dmds;
- }
- }
applicationContext.xml使用如下配置:
- <bean id="applicationDataSourceFactory"
- class="packagename.ApplictionDataSourceFactory" />
- <bean id="dataSouce" factory-bean="applicationDataSourceFactory"
- factory-method="buildLocalDataSource" />
第二种:
创建ApplictionDataSource类
- public class ApplicationDataSource extends DriverManagerDataSource{
- public ApplicationDataSource(){
- this.setDirverClassName();
- this.set...
- }
- }
applicationContext.xml使用如下配置:
- <bean id="dataSource" class="packagename.ApplicationDataSource"/>
以上,第一种方法的耦合度较小.......